Found 441 pages:

# Page Tags and summary
1 MDN Web Docs Glossary: Definitions of Web-related terms Beginner, Definitions, Dictionary, Glossary, Index, Landing, Terminology
Web technologies contain long lists of jargon and abbreviations that are used in documentation and coding. This glossary provides definitions of words and abbreviations you need to know to successfully understand and build for the web.
2 404 Glossary, HTTP Errors, Infrastructure, Navigation
A 404 is a Standard Response Code meaning that the server cannot find the requested resource.
3 502 502, Glossary, HTTP Errors, Infrastructure, Navigation
An HTTP error code meaning "Bad Gateway".
4 AJAX AJAX, CodingScripting, Glossary, Infrastructure, l10n:priority
Asynchronous JavaScript And XML (AJAX) is a programming practice of building more complex, dynamic webpages using a technology known as XMLHttpRequest.
5 API CodingScripting, Glossary, Infrastructure
An API (Application Programming Interface) is a set of features and rules that exist inside a software program (the application) enabling interaction with it through software - as opposed to a human user interface. The API can be seen as a simple contract (the interface) between the application offering it and other items, such as third party software or hardware.
6 ARIA Accessibility, Glossary
ARIA (Accessible Rich Internet Applications) is a W3C specification for adding semantics and other metadata to HTML to cater to users of assistive technology.
7 ARPA Glossary, Infrastructure
.arpa (address and routing parameter area) is a top-level domain used for Internet infrastructure purposes, especially reverse DNS lookup (i.e., find the domain name for a given IP address).
8 ASCII Glossary, Infrastructure
ASCII (American Standard Code for Information Interchange) is one of the most popular coding method used by computers for converting letters, numbers, punctuation and control codes into digital form. Since 2007, {{Glossary("UTF-8")}} superseded it on the Web.
9 ATAG ATAG, Accessibility, Authoring Tool Accessibility Guidelines, Glossary
ATAG (Authoring Tool Accessibility Guidelines) is a W3C recommendation for building accessible-authoring tools that produce accessible contents.
10 Abstraction Abstraction, Coding, CodingScripting, Glossary, Programming Language
Abstraction in computer programming is a way to reduce complexity and allow efficient design and implementation in complex software systems. It hides the technical complexity of systems behind simpler APIs.
11 Accessibility Accessibility, Glossary
Web Accessibility (A11Y) refers to best practices for keeping a website usable despite physical and technical restrictions. Web accessibility is formally defined and discussed at the W3C through the Web Accessibility Initiative (WAI).
12 Adobe Flash CodingScripting, Flash, Glossary, Infrastructure
Flash is an obsolescent technology developed by Adobe that makes possible rich Web apps, vector graphics, and multimedia. You need to install the right plugin to use Flash inside a web browser.
13 Algorithm CodingScripting, Glossary
An algorithm is a self-contained series of instructions to perform a function.
14 Alignment container Alignment container, CSS, Glossary, alignment
The alignment container is the rectangle that the alignment subject is aligned within. This is defined by the layout mode; it is usually the alignment subject’s containing block, and assumes the writing mode of the box establishing the containing block.
15 Alignment subject Alignment subject, CSS, Glossary, alignment
In CSS Box Alignment the alignment subject is the thing (or things) being aligned by the property.
16 Apple Safari Glossary, Navigation, WebMechanics
Safari is a Web browser developed by Apple and bundled with both Mac OS X and iOS. It's based on the open source WebKit engine.
17 Application Context CodingScripting, Glossary
An application context is a top-level browsing context that has a manifest applied to it.
18 Argument CodingScripting, Glossary, JavaScript
An argument is a value (primitive or object) passed as input to a function.
19 Arpanet Glossary, Infrastructure
The ARPAnet (advanced research projects agency network) was an early computer network, constructed in 1969 as a robust medium to transmit sensitive military data and to connect leading research groups throughout the United States. ARPAnet first ran NCP (network control protocol) and subsequently the first version of the Internet protocol or TCP/IP suite, making ARPAnet a prominent part of the nascent Internet. ARPAnet was closed in early 1990.
20 Array Array, CodingScripting, Glossary, JavaScript, programming
An array is an ordered collection of data (either primitive or object depending upon the language). Arrays are used to store multiple values in a single variable. This is compared to a variable that can store only one value.
21 Asynchronous Glossary, Web, WebMechanics
Asynchronous refers to a communication environment where each party receives and processes messages when convenient or possible rather than immediately.
22 Attribute CodingScripting, Glossary, HTML
An attribute extends a tag, changing its behavior or providing metadata. An attribute always has the form name=value (the attribute's identifier followed by its associated value).
23 Bandwidth Glossary, Infrastructure
Bandwidth is the measure of how much information can pass through a data connection in a given amount of time. It is usually measured in multiples of bits-per-second (bps), for example megabits-per-second (Mbps) or gigabits-per-second (Gbps).
24 BiDi Accessibility, Glossary
BiDi (BiDirectional) refers to a document containing both right-to-left and left-to-right text. Even when both directionalities occur in the same paragraph, the text in each language must appear in its proper directionality.
25 Blink Glossary, Infrastructure, Layout
Blink is an open-source browser layout engine developed by Google as part of Chromium (and therefore part of Chrome as well). Specifically, Blink is a fork of the WebCore library in WebKit, which handles layout, rendering, and DOM.
26 Block Disambiguation, Glossary
The term block can have several meanings depending on the context. It may refer to:
27 Block (CSS) CSS, CodingScripting, Design, Glossary, HTML
A block on a webpage is an HTML element that appears on a new line, i.e. underneath the preceding element in a horizontal writing mode, and above the following element (commonly known as a block-level element). For example, <p> is by default a block-level element, whereas <a> is an inline element — you can put several links next to one another in your HTML source and they will sit on the same line as one another in the rendered output.
28 Block (scripting) CodingScripting, Glossary, JavaScript
In JavaScript, a block is a collection of related statements enclosed in braces ("{}"). For example, you can put a block of statements after an if (condition) block, indicating that the interpreter should run the code inside the block if the condition is true, or skip the whole block if the condition is false.
29 Block cipher mode of operation Cryptography, Security
A block cipher mode of operation, usually just called a "mode" in context, specifies how a block cipher should be used to encrypt or decrypt messages that are longer than the block size.
30 Boolean Boolean, CodingScripting, Glossary, JavaScript, Programming Languages, data types
In computer science, a Boolean is a logical data type that can have only the values true or false.
31 Boot2Gecko Boot2Gecko, Firefox OS, Glossary, Infrastructure, Intro
Boot2Gecko (B2G) is the engineering codename for Firefox OS and refers to builds that haven't yet received official Firefox OS branding. (Firefox OS was also often called Boot2Gecko before the project had an official name.)
32 Bounding Box Bounding Box, CodingScripting, Design, Glossary
The bounding box of an element is the smallest possible rectangle (aligned with the axes of that element's user coordinate system) that entirely encloses it and its descendants.
33 Browser Glossary, Navigation
A Web browser or browser is a program that retrieves and displays pages from the Web, and lets users access further pages through hyperlinks. A browser is the most familiar type of user agent.
34 Browsing context CodingScripting, Glossary
A browsing context is the environment in which a browser displays a Document (normally a tab nowadays, but possibly also a window or a frame within a page).
35 CDN Glossary, Infrastructure
CDN (Content Delivery Network) is a group of servers spread out over many locations. These servers store duplicate copies of data so that servers can fulfill data requests based on which servers are closest to the respective end-users. CDNs make for fast service less affected by high traffic.
36 CIA Glossary, Security
CIA (Confidentiality, Integrity, Availability) (also called the CIA triad or AIC triad) is a model that guides an organization's policies for information security.
37 CMS CMS, Composing, Content management system, Glossary
A CMS (Content Management System) is software that allows users to publish, organize, change, or remove various kinds of content, not only text but also embedded images, video, audio, and interactive code.
38 CORS Glossary, Infrastructure, Security
CORS (Cross-Origin Resource Sharing) is a system, consisting of transmitting HTTP headers, that determines whether browsers block frontend JavaScript code from accessing responses for cross-origin requests.
39 CRLF CR, CRLF, Glossary, Infrastructure, LF, carriage return, line feed
CR and LF are control characters or bytecode that can be used to mark a line break in a text file.
40 CRUD Glossary, Infrastructure
CRUD (Create, Read, Update, Delete) is an acronym for ways one can operate on stored data. It is a mnemonic for the four basic functions of persistent storage.  CRUD typically refers to operations performed in a database or datastore, but it can also apply to higher level functions of an application such as soft deletes where data is not actually deleted but marked as deleted via a status.
41 CSP Glossary, HTTP, Infrastructure
A CSP (Content Security Policy) is used to detect and mitigate certain types of website related attacks like XSS and data injections.
42 CSRF Glossary, Security
CSRF (Cross-Site Request Forgery) is an attack that impersonates a trusted user and sends a website unwanted commands. This can be done, for example, by including malicious parameters in a URL behind a link that purports to go somewhere else.
43 CSS CSS, CodingScripting, Glossary, Web, l10n:priority
CSS (Cascading Style Sheets) is a declarative language that controls how webpages look in the browser.
44 CSS preprocessor CSS
A CSS preprocessor is a program that lets you generate CSS from the preprocessor's own unique syntax.
45 Cache Glossary, HTTP
A cache (web cache or HTTP cache) is a component that stores HTTP responses temporarily so that it can be used for subsequent HTTP requests as long as it meets certain conditions.
46 Cacheable Glossary, WebMechanics
A cacheable response is an HTTP response that can be cached, that is stored to be retrieved and used later, saving a new request to the server. Not all HTTP responses can be cached, there are the following constraints for an HTTP response to be cached:
47 CalDAV CalDAV, Glossary, Infrastructure
CalDAV (Calendaring extensions to WebDAV) is a protocol standardized by the IETF and used to remotely access calendar data from a server.
48 Call stack Call Stack, CodingScripting, Glossary, JavaScript
A call stack is a mechanism for an interpreter (like the JavaScript interpreter in a web browser) to keep track of its place in a script that calls multiple functions — what function is currently being run and what functions are called from within that function, etc.
49 Callback function Callback, Callback function, Glossary
A callback function is a function passed into another function as an argument, which is then invoked inside the outer function to complete some kind of routine or action.
50 Canonical order Canonical order, CodingScripting, Glossary
In CSS, canonical order is used to refer to the order in which separate values need to be specified (or parsed) or are to be serialized as part of a CSS property value. It is defined by the formal syntax of the property and normally refers to the order in which longhand values should be specified as part of a single shorthand value.
51 Canvas CodingScripting, Glossary, Graphics, HTML, JavaScript
No summary!
52 Card sorting Card sorting, Design, Glossary
Card sorting is a simple technique used in Information architecture whereby people involved in the design of a website (or other type of product) are invited to write down the content / services / features they feel the product should contain, and then organize those features into categories or groupings. This can be used for example to work out what should go on each page of a website. The name comes from the fact that often card sorting is carried out by literally writing the items to sort onto cards, and then arranging the cards into piles.
53 CardDAV CardDAV, Glossary, Infrastructure
CardDAV (vCard Extension to WebDAV) is a protocol standardized by the IETF and used to remote-access or share contact information over a server.
54 Certificate authority Cryptography, Glossary, Security
A certificate authority (CA) is an organization that signs digital certificates and their associated public keys. This certifies that an organization that requested a digital certificate (e.g., Mozilla Corporation) is authorized to request a certificate for the subject named in the certificate (e.g., mozilla.org).
55 Certified Apps, Firefox OS, Glossary, Security, Trustworthy
Certified means that an application, content or data transmission has successfully undergone evaluation by professionals with expertise in the relevant field, thereby indicating completeness, security and trustworthiness.
56 Challenge-response authentication Security
In security protocols, a challenge is some data sent to the client by the server in order to generate a different response each time. Challenge-response protocols are one way to fight against replay attacks where an attacker listens to the previous messages and resends them at a later time to get the same credentials as the original message.
57 Character CodingScripting, Glossary, strings
A character is either a symbol (letters, numbers, punctuation) or non-printing "control" (e.g., carriage return or soft hyphen).  UTF-8 is the most common character set and includes the graphemes of the most popular human languages.
58 Character encoding Composing, Glossary
An encoding defines a mapping between bytes and text. A sequence of bytes allows for different textual interpretations. By specifying a particular encoding (such as UTF-8), we specify how the sequence of bytes is to be interpreted.
59 Chrome Browser, Chrome, Glossary, WebMechanics
In a browser, the chrome is any visible aspect of a browser aside from the webpages themselves (e.g., toolbars, menu bar, tabs). This is not to be confused with the Google Chrome browser.
60 Cipher Cryptography, Glossary, Privacy, Security
In cryptography, a cipher is an algorithm that can encode cleartext to make it unreadable, and to decode it back.
61 Cipher suite Cryptography, Glossary, Security
A cipher suite is a combination of a key exchange algorithm, authentication method, bulk encryption cipher, and message authentication code.
62 Ciphertext Cryptography, Glossary, Privacy, Security
In cryptography, a ciphertext is a scrambled message that conveys information but is not legible unless decrypted with the right cipher and the right secret (usually a key), reproducing the original cleartext. A ciphertext's security, and therefore the secrecy of the contained information, depends on using a secure cipher and keeping the key secret.
63 Class CodingScripting, Glossary
In object-oriented programming, a class defines an object's characteristics. Class is a template definition of an object's properties and methods, the "blueprint" from which other more specific instances of the object are drawn.
64 Closure CodingScripting, Glossary
The binding which defines the scope of execution. In JavaScript, functions create a closure context.
65 Codec Glossary, WebMechanics
A codec  (a blend word derived from "coder-decoder") is a program, algorithm, or device that encodes or decodes a data stream. A given codec knows how to handle a specific encoding or compression technology.
66 Compile CodingScripting, Glossary
Compiling is the process of transforming a computer program written in a given language into an equivalent program of another language. A compiler is a software to execute this task. Sometimes, this task is also referred to as "assembling" or "build", which typically indiciates more than just compilation is done, e.g. packaging it in a binary format.
67 Compile time CodingScripting, Glossary, JavaScript
The compile time is the time from when the program is first loaded until the program is parsed.
68 Computer Programming CodingScripting, Computer Programming, Programming Language, programming
Computer programming is a process of composing and organizing a collection of instructions. These tell a computer/software program what to do in a language which the computer understands. These instructions come in the form of many different languages such as C++, Java, JavaScript, HTML, Python, Ruby, and Rust.
69 Conditional Beginner, CodingScripting, Glossary
A condition is a set of rules that can interrupt normal code execution or change it, depending on whether the condition is completed or not.
70 Constant CodingScripting, Constant, Glossary
A constant is a value that the programmer cannot change, for example numbers (1, 2, 42). With variables, on the other hand, the programmer can assign a new value to a variable name already in use.
71 Constructor CodingScripting, Glossary
A constructor belongs to a particular class object that is instantiated. The constructor initializes this object and can provide access to its private information. The concept of a constructor can be applied to most object-oriented programming languages. Essentially, a constructor in JavaScript is usually declared at the instance of a class.
72 Continuous Media CSS, Media
No summary!
73 Control flow CodingScripting, Glossary, JavaScript
The control flow is the order in which the computer executes statements in a script.
74 Cookie Glossary, WebMechanics
A cookie is a small piece of information left on a visitor's computer by a website, via a web browser.
75 Copyleft Glossary, OpenPractices, Remixing, Sharing
Copyleft is a term, usually referring to a license, used to indicate that such license requires that redistribution of said work is subject to the same license as the original. Examples of copyleft licenses are the GNU GPL (for software) and the Creative Commons SA (Share Alike) licenses (for works of art).
76 Crawler Browser, Crawler, Glossary, Infrastructure
A web crawler is a program, often called a bot or robot, which systematically browses the Web to collect data from webpages. Typically search engines (e.g. Google, Bing, etc.) use crawlers to build indexes.
77 Cross Axis CSS, Glossary, cross axis, flexbox
The cross axis in flexbox runs perpendicular to the main axis, therefore if your flex-direction is either row or row-reverse then the cross axis runs down the columns.
78 Cross-site scripting Cross Site Scripting, DOM, Glossary, Security, XSS
Cross-site scripting (XSS) is a security exploit which allows an attacker to inject into a website malicious client-side code. This code is executed by the victims and lets the attackers bypass access controls and impersonate users. According to the Open Web Application Security Project, XSS was the third most common Web app vulnerability in 2013.
79 Cryptanalysis Cryptography, Glossary, Privacy, Security
Cryptanalysis is the branch of cryptography that studies how to break codes and cryptosystems. Cryptanalysis creates techniques to break ciphers, in particular by methods more efficient than a brute-force search. In addition to traditional methods like frequency analysis and index of coincidence, cryptanalysis includes more recent methods, like linear cryptanalysis or differential cryptanalysis, that can break more advanced ciphers.
80 Cryptographic hash function Cryptography, Glossary, Security
A cryptographic hash function, also sometimes called a digest function, is a cryptographic primitive transforming a message of arbitrary size into a message of fixed size, called a digest. Cryptographic hash functions are used for authentication, digital signatures, and message authentication codes.
81 Cryptography Cryptography, Glossary, Privacy, Security
Cryptography, or cryptology, is the science that studies how to encode and transmit messages securely. Cryptography designs and studies algorithms used to encode and decode messages in an insecure environment, and their applications.
82 DHTML CodingScripting, DHTML, Glossary, HTML
DHTML (Dynamic HTML) refers to the code behind interactive webpages that need no plugins like Flash or Java. DHTML aggregates the combined functionality of HTML, CSS, the DOM, and JavaScript.
83 DMZ Glossary, Networking, Security
A DMZ is a way to provide an insulated secure interface between an internal network (corporate or private) and the outside untrusted world — usually the Internet.
84 DNS DNS, Domain Name System, Glossary, Infrastructure
DNS (Domain Name System) translates easy-to-recall domain names to the numerical IP addresses needed to find a particular computer service on the Internet or private network.
85 DOM CodingScripting, DOM, Glossary
The DOM (Document Object Model) is an API that represents and interacts with any HTML or XML document. The DOM is a document model loaded in the browser and representing the document as a node tree, where each node represents part of the document (e.g. an element, text string, or comment).
86 DTD CodingScripting, Glossary
In HTML, the doctype is the required "<!DOCTYPE html>" preamble found at the top of all documents. Its sole purpose is to prevent a browser from switching into so-called “quirks mode” when rendering a document; that is, the "<!DOCTYPE html>" doctype ensures that the browser makes a best-effort attempt at following the relevant specifications, rather than using a different rendering mode that is incompatible with some specifications.
87 DTMF (Dual-Tone Multi-Frequency signaling) DTMF, Glossary, WebRTC
Dual-Tone Multi-Frequency (DTMF) signaling is a system by which audible tones are used to represent buttons being pressed on a keypad. Frequently referred to in the United States as "touch tone" (after the Touch-Tone trademark used when the transition from pulse dialing to DTMF began), DTMF makes it possible to signal the digits 0-9 as well as the letters "A" through "D" and the symbols "#" and "*". Few telephone keypads include the letters, which are typically used for control signaling by the telephone network.
88 Data structure CodingScripting, Data structure, Glossary
Data structure is a particular way of organizing data so that it can be used efficiently.
89 Decryption Cryptography, Glossary, Privacy, Security
In cryptography, decryption is the conversion of ciphertext into cleartext.
90 Denial of Service Attack, Denial of Service, Glossary, Intro, Security
DoS (Denial of Service) is a network attack that prevents legitimate use of server resources by flooding the server with requests.
91 Descriptor (CSS) CSS, CodingScripting, Glossary, NeedsContent
A CSS descriptor defines the characteristics of an at-rule. At-rules may have one or multiple descriptors. Each descriptor has:
92 Deserialization Deserialization, Deserialize, Glossary, JavaScript
The process whereby a lower-level format (e.g. that has been transferred over a network, or stored in a data store) is translated into a readable object or other data structure.
93 Developer Tools CodingScripting, Developer Tools, Glossary
Developer tools (or "development tools" or short "DevTools") are programs that allow a developer to create, test and debug software.
94 Digest Cryptography, Glossary, Privacy, Security
digest is a small value generated by a hash function from a whole message. Ideally, a digest is quick to calculate, irreversible, and unpredictable, and therefore indicates whether someone has tampered with a given message.
95 Digital certificate Cryptography, Glossary, Security
A digital certificate is a data file that binds a publicly known cryptographic key to an organization.
96 Distributed Denial of Service Attack, DDoS, Denial of Service, Glossary, Intro, Security
A Distributed Denial-of-Service (DDoS) is an attack in which many compromised systems are made to attack a single target, in order to swamp server resources and block legitimate users.
97 DoS attack Glossary, Security
DoS (Denial of Service) is a network attack that prevents legitimate use of server resources by flooding the server with requests.
98 Doctype Browser, CodingScripting, DOCTYPE, Glossary, HTML, Intro
In HTML, the doctype is the required "<!DOCTYPE html>" preamble found at the top of all documents. Its sole purpose is to prevent a browser from switching into so-called “quirks mode” when rendering a document; that is, the "<!DOCTYPE html>" doctype ensures that the browser makes a best-effort attempt at following the relevant specifications, rather than using a different rendering mode that is incompatible with some specifications.
99 Document directive CSP, HTTP, Security
CSP document directives are used in a Content-Security-Policy header and govern the properties of a document or worker environment to which a policy applies.
100 Domain Browser, Domain, Glossary, Infrastructure, Networking
A domain is an authority within the internet that controls its own resources. Its "domain name" is a way to address this authority as part of the hierarchy in a URL - usually the most memorable part of it, for instance a brand name.
101 Domain name Domain Name, Glossary, Protocol, WebMechanics
A domain name is a website's address on the Internet. Domain names are used in URLs to identify to which server belong a specific webpage. The domain name consists of a hierarchial sequence of names (labels) separated by periods (dots) and ending with an extension.
102 Dominator CodingScripting, Glossary
In graph theory, node A dominates node B if every path from the root node to B passes through A.
103 Dynamic programming language CodingScripting, Glossary
A dynamic programming language is a programming language in which operations otherwise done at compile-time can be done at run-time. For example, in JavaScript it is possible to change the type of a variable or add new properties or methods to an object while the program is running.
104 Dynamic typing CodingScripting, Glossary, ProgrammingLanguage
Dynamically-typed languages are those (like JavaScript) where the interpreter assigns variables a type at runtime based on the variable's value at the time.
105 ECMA Glossary, Stub, WebMechanics
Ecma International (formally European Computer Manufacturers Association) is a non-profit organization that develops standards in computer hardware, communications, and programming languages.
106 ECMAScript Glossary, WebMechanics
ECMAScript is the scripting language on which JavaScript is based. Ecma International is in charge of standardizing ECMAScript.
107 Element CodingScripting, Glossary, HTML
An element is a part of a webpage. In XML and HTML, an element may contain a data item or a chunk of text or an image, or perhaps nothing. A typical element includes an opening tag with some attributes, enclosed text content, and a closing tag.
Example: in <p class="nice">Hello world!</p>, '<p class="nice">' is an opening tag, 'class="nice"' is an attribute and its value, 'Hello world!' is enclosed text content, and '</p>' is a closing tag.
108 Empty element CodingScripting, Glossary, Intermediate
An empty element is an element from HTML, SVG, or MathML that cannot have any child nodes (i.e., nested elements or text nodes).
109 Encapsulation CodingScripting, Glossary
Encapsulation is the packing of data and functions into one component (for example, a class) and then controlling access to that component to make a "blackbox" out of the object. Because of this, a user of that class only needs to know its interface (that is, the data and functions exposed outside the class), not the hidden implementation.
110 Encryption Cryptography, Glossary, Privacy, Security
In cryptography, encryption is the conversion of cleartext into a coded text or ciphertext. A ciphertext is intended to be unreadable by unauthorized readers.
111 Endianness Coding, CodingScripting, Glossary
"Endian" and "endianness" (or "byte-order") describe how computers organize the bytes that make up numbers.
112 Engine CodingScripting, Glossary, NeedsContent
The JavaScript engine is an interpreter that parses and executes a JavaScript program.
113 Entity CodingScripting, Composing, Glossary, HTML
An HTML entity is a piece of text ("string") that begins with an ampersand (&) and ends with a semicolon (;) . Entities are frequently used to display reserved characters (which would otherwise be interpreted as HTML code), and invisible characters (like non-breaking spaces). You can also use them in place of other characters that are difficult to type with a standard keyboard. 
114 Entity header Glossary, WebMechanics
An entity header is an HTTP header describing the content of the body of the message. Entity headers are used in both, HTTP requests and responses. Headers like Content-Length, Content-Language, Content-Encoding are entity headers.
115 Event CodingScripting, Glossary
Events are assets generated by DOM elements, which can be manipulated by a Javascript code.
116 Exception Beginner, CodingScripting, Glossary
An exception is a condition that interrupts normal code execution. In JavaScript syntax errors are a very common source of exceptions.
117 Expando CodingScripting, JavaScript, Reference, expando
Expando properties are properties added to DOM nodes with JavaScript, where those properties are not part of the object's DOM specification:
118 FTP CodingScripting, FTP, Glossary, Protocol
FTP (File Transfer Protocol) was the standard protocol for many years for transferring files from one host to another over the Internet. Increasingly, though, teams and hosting accounts don't allow FTP and instead rely on a version control system like Git. You will still find it used on older hosting accounts, but it is safe to say that FTP is no longer considered best practice.
119 FTU FTU, Firefox OS, First time use, Gaia, Glossary, Infrastructure, Intro
FTU (First Time Use) is the app that loads when you run a newly-installed version of Gecko on a Firefox OS device.
120 Fallback alignment CSS, Glossary, alignment
In CSS Box Alignment, a fallback alignment is specified in order to deal with cases where the requested alignment cannot be fullfilled. For example, if you specify justify-content: space-between there must be more than one alignment subject. If there is not, the fallback alignment is used. This is specified per alignment method, as detailed below.
121 Falsy CodingScripting, Glossary, JavaScript
A falsy value is a value that is considered false when encountered in a Boolean context.
122 Fetch directive CSP, HTTP, Security
CSP fetch directives are used in a Content-Security-Policy header and control locations from which certain resource types may be loaded. For instance, script-src allows developers to allow trusted sources of script to execute on a page, while font-src controls the sources of web fonts.
123 Firefox OS Boot2Gecko, Firefox OS, Glossary, Infrastructure, Intro
Firefox OS is Mozilla's mobile operating system, based on Linux and Firefox's powerful Gecko rendering engine. Firefox OS consists mainly of Gaia, Gecko, and Gonk.
124 First-class Function CodingScripting, Glossary, JavaScript
A programming language is said to have First-class functions when functions in that language are treated like any other variable. For example, in such a language, a function can be passed as an argument to other functions, can be returned by another function and can be assigned as a value to a variable.
125 Flex CSS, Flex, Glossary, flexbox
flex is a new value added to the CSS display property. Along with inline-flex it causes the element that it applies to to become a flex container, and the element's children to each become a flex item. The items then participate in flex layout, and all of the properties defined in the CSS Flexible Box Layout Module may be applied.
126 Flex Container CSS, Glossary, flex container, flexbox
A flexbox layout is defined using the flex or inline-flex values of the display property on the parent item. This element then becomes a flex container, and each one of its children becomes a flex item.
127 Flex Item CSS, Glossary, flex item, flexbox
The direct children of a Flex Container (elements with display: flex or display: inline-flex set on them) become flex items.
128 Flexbox CSS, Glossary, flexbox
Flexbox is the commonly-used name for the CSS Flexible Box Layout Module, a layout model for displaying items in a single dimension — as a row or as a column.
129 Forbidden header name Fetch, Glossary, HTTP, Headers, forbidden
A forbidden header name is the name of any HTTP header that cannot be modified programmatically; specifically, an HTTP request header name (in contrast with a Forbidden response header name).
130 Forbidden response header name Glossary, HTTP, Response, forbidden
A forbidden response header name is an HTTP header name (either `Set-Cookie` or `Set-Cookie2`) that cannot be modified programmatically.
131 Fork Fork, Glossary, Tools, git
No summary!
132 Fragmentainer
A fragmentainer is defined in the CSS Fragmentation Specification as follows:
133 Function CodingScripting, Glossary, IIFE, Immediately Invoked Function Expressions (IIFE), Intro, JavaScript
A function is a code snippet that can be called by other code or by itself, or a variable that refers to the function. When a function is called, arguments are passed to the function as input, and the function can optionally return an output. A function in JavaScript is also an object.
134 GIF Composing, Glossary
GIF (Graphics Interchange Format) is an image format that uses lossless compression and can be used for animations. A GIF uses up to 8 bits per pixel and a maximum of 256 colors from the 24-bit color space.
135 GIJ Automation, CodingScripting, Gaia, Integration, tests
Gaia integration Testing. Marionette- and JavaScript- based. See GIJ.
136 GPL GPL, Glossary, License, OpenPractices, Remixing, Sharing
The (GNU) GPL (General Public License) is a copyleft free software license published by the Free Software Foundation. Users of a GPL-licensed program are granted the freedom to use it, read the source code, modify it and redistribute the changes they made, provided they redistribute the program (modified or unmodified) under the same license.
137 GPU Glossary, Graphics, Infrastructure
The GPU (Graphics Processing Unit) is a computer component similar to the CPU (Central Processing Unit). It specializes in the drawing of graphics (both 2D and 3D) on your monitor.
138 Gaia Boot2Gecko, Firefox OS, Gaia, Glossary, Infrastructure, Intro
The user interface and default application suite of the Firefox OS platform.
139 Garbage collection CodingScripting, Glossary
Garbage collection is a term used in computer programming to describe the process of finding and deleting objects which are no longer being referenced by other objects.
140 Gecko Firefox OS, Gecko, Glossary, Infrastructure, Intro, Mozilla
Gecko is the layout engine developed by the Mozilla Project and used in many apps/devices, including Firefox and Firefox OS.
141 General header Glossary, WebMechanics
A general header is an HTTP header that can be used in both request and response messages but doesn't apply to the content itself. Depending on the context they are used in, general headers are either response or request headers. However, they are not entity headers.
142 Git Collaborating, Glossary
Git is a free, open-source, distributed Source Code Management (SCM) system. It facilitates handling code bases with distributed development teams. What sets it apart from previous SCM systems is the ability to do common operations (branching, committing, etc.) on your local development machine, without having to change the master repository or even having write access to it.
143 Global attribute Attribute, CodingScripting, Glossary, HTML
Global attributes are attributes that can be used on all elements (though sometimes without effect on some elements).
144 Global object CodingScripting, Glossary, NeedsContent
A global object is an object that always exists in the global scope.
145 Global scope CodingScripting, Glossary, NeedsContent
In a programming environment, the global scope is the scope that contains, and is visible in, all other scopes.
146 Global variable CodingScripting, Glossary
A global variable is a  variable that is declared in the global scope in other words, a variable that is visible from all other scopes.
147 Gonk Boot2Gecko, Firefox OS, Glossary, Gonk, Infrastructure, Intro
Gonk is the lower-level operating system of Firefox OS and consists of a Linux kernel (based on the Android Open Source Project (AOSP)) and userspace hardware abstraction layer (HAL).
148 Google Chrome Browser, Chrome canary, Chrome stable, Chromium, Glossary, WebMechanics, google chrome
Google Chrome is a free Web browser developed by Google. It's based on the Chromium open source project. Some key differences are described on the Chromium wiki. For a layout engine, both browsers use a fork of WebKit called Blink. Note that the iOS version of Chrome uses that platform's rendering engine, not Blink.
149 Graceful degradation Design, Glossary, graceful degradation
Graceful degradation is a design philosophy that centers around trying to build a modern web site/application that will work in the newest browsers, but fall back to an experience that while not as good still delivers essential content and functionality in older browsers.
150 Grid CSS, CSS Grids
A CSS grid is defined using the grid value of the display property; you can define columns and rows on your grid using the grid-template-rows and grid-template-columns properties.
151 Grid Areas CSS, CSS Grids, Reference
A grid area is one or more grid cells that make up a rectangular area on the grid. Grid areas are created when you place an item using line-based placement or when defining areas using named grid areas.
152 Grid Axis CSS, CSS Grids
CSS Grid Layout is a two-dimensional layout method enabling the laying out of content in rows and columns. Therefore in any grid we have two axes. The block or column axis, and the inline or row axis.
153 Grid Cell CSS Grids
In a CSS Grid Layout, a grid cell is the smallest unit you can have on your CSS grid. It is the space between four intersecting grid lines and conceptually much like a table cell.
154 Grid Column CSS, CodingScripting
A grid column is a vertical track in a CSS Grid Layout, and is the space between two vertical grid lines. It is defined by the grid-template-columns property or in the shorthand grid or grid-template properties.
155 Grid Lines CSS Grids
Grid lines are created when you define tracks in the explicit grid using CSS Grid Layout. In the following example there is a grid with three column tracks and two row tracks. This gives us 4 column lines and 3 row lines.
156 Grid Row CSS Grids
A grid row is a horizontal track in a CSS Grid Layout, that is the space between two horizontal grid lines. It is defined by the grid-template-rows property or in the shorthand grid or grid-template properties.
157 Grid Tracks CSS Grids
A grid track is the space between two grid lines. They are defined in the explicit grid by using the grid-template-columns and grid-template-rows properties or the shorthand grid or grid-template properties. Tracks are also created in the implicit grid by positioning a grid Item outside of the tracks created in the explicit grid.
158 Grid container CSS, Glossary, grid
Using the value grid or inline-grid on an element turns it into a grid container using CSS Grid Layout, and any direct children of this element become grid items.
159 Guard API, CodingScripting, Glossary, guard
Guard is a feature of Headers objects (as defined in the Fetch spec, which affects whether methods such as set() and append() can change the header's contents. For example, immutable guard means that headers can't be changed. For more information, read Fetch basic concepts: guard.
160 Gutters CSS Grids
Gutters or alleys are spacing between content tracks. These can be created in CSS Grid Layout using the grid-column-gap, grid-row-gap, or grid-gap properties.
161 Gzip compression Glossary, compression, gzip
Gzip is a file format used for file compression and decompression. It is based on the Deflate algorithm that allows files to be made smaller in size which allows for faster network transfers. Gzip is commonly supported by web servers and modern browsers, meaning that servers can automatically compress files with Gzip before sending them, and browsers can uncompress files upon receiving them.
162 HMAC Cryptography, Glossary, Hash, Security
HMAC is a protocol used for cryptographically authenticating messages.
163 HPKP Glossary, Security
HTTP Public Key Pinning (HPKP) is a security feature that tells a web client to associate a specific cryptographic public key with a certain web server to decrease the risk of MITM attacks with forged certificates.
164 HSTS HTTP, Security
HTTP Strict Transport Security lets a web site inform the browser that it should never load the site using HTTP and should automatically convert all attempts to access the site using HTTP to HTTPS requests instead. It consists in one HTTP header, Strict-Transport-Security, sent back by the server with the resource.
165 HTML CodingScripting, Glossary, HTML, l10n:priority
HTML (HyperText Markup Language) is a descriptive language that specifies webpage structure.
166 HTML5 CodingScripting, Glossary, HTML, HTML5
The latest stable release of HTML, HTML5 takes HTML from a simple markup for structuring a document to a full app development platform. Among other features, HTML5 includes new elements and JavaScript APIs to enhance storage, multimedia, and hardware access.
167 HTTP Beginner, Glossary, HTTP, Infrastructure, l10n:priority
The HyperText Transfer Protocol (HTTP) is the underlying network protocol that enables transfer of hypermedia documents on the Web, typically between a browser and a server so that humans can read them. The current version of the HTTP specification is called HTTP/2.
168 HTTPS Glossary, HTTPS, Infrastructure, Security
HTTPS (HTTP Secure) is an encrypted version of the HTTP protocol. It usually uses SSL or TLS to encrypt all communication between a client and a server. This secure connection allows clients to safely exchange sensitive data with a server, for example for banking activities or online shopping.
169 Hash CodingScripting, Cryptography, Glossary, Hash
The hash function takes a variable length message input and produces a fixed-length hash output. It is commonly in the form of a 128-bit "fingerprint" or "message digest". Hashes are very useful for cryptography — they insure the integrity of transmitted data. This provides the basis for HMAC's, which provide message authentication.
170 Head CodingScripting, Glossary, HTML, head, metadata
The Head is the part of an HTML document that contains metadata about that document, such as author, description, and links to CSS or JavaScript files that should be applied to the HTML.
171 Header Glossary, WebMechanics
An HTTP header is a field of an HTTP request or response that passes additional information, altering or precising the semantics of the message or of the body. Headers are case-insensitive, begins at the start of a line and are immediately followed by a ':' and a value depending of the header itself. The value finish at the next CR or at the end of the message.
172 High-level programming language CodingScripting, Glossary
A high-level programming language has a significant abstraction from the details of computer operation. It is designed to be easily understood by humans and for this reason they must be translated by another software. Unlike low-level programming languages, it may use natural language elements, or may automate (or even entirely hide) significant areas of computing systems, making the process of developing simpler and more understandable relative to a lower-level language. The amount of abstraction provided defines how "high-level" a programming language is.
173 Hoisting CodingScripting, Glossary, JavaScript
Hoisting is a term you will not find used in any normative specification prose prior to ECMAScript® 2015 Language Specification. Hoisting was thought up as a general way of thinking about how execution contexts (specifically the creation and execution phases) work in JavaScript. However, the concept can be a little confusing at first.
174 Host Glossary, Intermediate, Web, WebMechanics
A host is a device connected to the Internet (or a local network). Some hosts called servers offer additional services like serving webpages or storing files and emails.
175 Hotlink Glossary, WebMechanics
A hotlink (also known as an inline link) is an object (typically an image) directly linked to from another site. For example, an image hosted on site1.com is shown directly on site2.com.
176 Hyperlink CodingScripting, Glossary, HTML, Navigation
Hyperlinks connect webpages or data items to one another. In HTML, <a> elements define hyperlinks from a spot on a webpage (like a text string or image) to another spot on some other webpage (or even on the same page).
177 Hypertext Glossary, Web, WebMechanics
Hypertext is text that contains links to other texts, as opposed to a single linear flow like in a novel.
178 I18N Beginner, Credibility, Glossary, Internationalization, OpenPractices, i18n
i18n (from "internationalization", a 20-letter word) is the best practice that enables products or services to be readily adapted to any target culture.
179 IANA Glossary, Infrastructure
IANA (Internet Assigned Numbers Authority) is a subsidiary of ICANN charged with recording and/or assigning domain names, IP addresses, and other names and numbers used by Internet protocols.
180 ICANN Glossary, Infrastructure
ICANN (Internet Corporation of Assigned Names and Numbers) is an international nonprofit that maintains the domain name system and the record of IP addresses.
181 ICE CodingScripting, Glossary, Networking, Protocols, WebRTC
ICE (Interactive Connectivity Establishment) is a framework used by WebRTC (among other technologies) for connecting two peers to each other, regardless of network topology (usually for audio and/or video chat). This protocol lets two peers find and establish a connection with one another even though they may both be using Network Address Translator (NAT) to share a global IP address with other devices on their respective local networks.
182 IDE CodingScripting, Glossary
An Integrated Development Environment (IDE) or Interactive Development environment is a software application that provides comprehensive facilities to computer programmers for software development. An IDE normally consists of a source code editor, build automation tools and a debugger.
183 IDL CodingScripting, Glossary, IDL, Interface description language
An IDL (Interface Description Language) is a generic language used to specified objects' interfaces apart from any specific programming language.
184 IETF Glossary, IETF, Infrastructure, Internet
The Internet Engineering Task Force (IETF) is a worldwide organization that drafts specifications governing the mechanisms behind the Internet, especially the TCP/IP or Internet Protocol Suite.
185 IIFE CodingScripting, DesignPattern, Glossary, JavaScript
An IIFE (Immediately Invoked Function Expression) is a JavaScript function that runs as soon as it is defined.
186 IMAP Beginner, Glossary, Infrastructure, MailNews
IMAP (Internet Message Access Protocol) is a protocol used to retrieve and store emails. More recent than POP3, IMAP allows folders and rules on the server.
187 IP Address Beginner, Glossary, Infrastructure, Web
An IP address is a number assigned to every device connected to a network that uses the Internet protocol.
188 IPv4 Glossary, IPv4, Infrastructure, Internet Protocol, Protocol
IPv4 is the fourth version of the communication protocol underlying the Internet and the first version to be widely deployed.
189 IPv6 Glossary, IPv6, Infrastructure, Intermediate, Web, WebMechanics
IPv6 is the current version of the communication protocol underlying the Internet. Slowly IPv6 is replacing IPv4, among other reasons because IPv6 allows for many different IP addresses.
190 IRC Glossary, Infrastructure, Internet Relay Chat, Open Protocol, irc
IRC (Internet Relay Chat) is a worldwide chat system requiring an Internet connection and an IRC client, which sends and receives messages via the IRC server.
191 ISO Glossary, ISO, Infrastructure, Web Standards, web specifications
ISO (International Organization for Standardization) is a global association that develops uniform criteria coordinating the companies in each major industry.
192 ISP Glossary, ISP, Internet Service Provider, Web, WebMechanics
An ISP (Internet Service Provider) sells Internet access, and sometimes email, web hosting, and voice over IP, either by a dial-up connection over a phone line (formerly more common), or through a broadband connection such as a cable modem or DSL service.
193 Idempotent Glossary, WebMechanics
An HTTP method is idempotent if an identical request can be made once or several times in a row with the same effect while leaving the server in the same state. In other words, an idempotent method should not have any side-effects (except for keeping statistics). Implemented correctly, the GET, HEAD, PUT, and DELETE method are idempotent, but not the POST method. All safe methods are also idempotent.
194 Identifier Beginner, Glossary, Sharing
A sequence of characters in the code that identifies a variable, function, or property.
195 Immutable CodingScripting, Glossary
An immutable object is one whose content cannot be changed.
An object can be immutable for various reasons, for example:
196 Index Glossary, Index, MDN Meta, Navigation
Found 441 pages:
197 IndexedDB API, CodingScripting, Database, Glossary, Sql
IndexedDB is a Web API for storing large data structures within browsers and indexing them for high-performance searching. Like an SQL-based RDBMS, IndexedDB is a transactional database system. However, it uses JavaScript objects rather than fixed columns tables to store data.
198 Information architecture Design, Glossary, information architecture
Information architecture, as applied to web design and development, is the practice of organizing the information / content / functionality of a web site so that it presents the best user experience it can, with information and services being easily usable and findable.
199 Inheritance CodingScripting, Glossary, Inheritance, Programming Language
Inheritance is a major feature of object-oriented programming.  Data abstraction can be carried up several levels, that is, classes can have superclasses and subclasses.
200 Instance Beginner, CodingScripting, Glossary, JavaScript, NeedsContent
An object created by a constructor is an instance of that constructor.
201 Internet Beginner, Glossary, Guide, Intro, NeedsContent, Tutorial, Web, WebMechanics
The Internet is a worldwide network of networks that uses the Internet protocol suite (also named TCP/IP from its two most important protocols).
202 Intrinsic Size CSS, Glossary, Intrinsic size
In CSS, the intrinsic size of an element is the size it would be based on its content, if no external factors were applied to it.
203 JPEG Beginner, Composing, Glossary, JPEG
JPEG (Joint Photographic Experts Group) is a commonly used method of lossy compression for digital images.
204 JSON CodingScripting, Glossary, Intro, JSON, l10n:priority
JavaScript Object Notation (JSON) is a data-interchange format.  Although not a strict subset, JSON closely resembles a subset of JavaScript syntax. Though many programming languages support JSON, JSON is especially useful for JavaScript-based apps, including websites and browser extensions.
205 Jank Beginner, CodingScripting, Glossary, Performance
Jank refers to sluggishness in a user interface, usually caused by executing long tasks on the main thread, blocking rendering, or expending too much processor power on background processes.
206 Java CodingScripting, Glossary, Java, Programming Language
Java is a compiledobject-oriented, highly portable programming language.
207 JavaScript CodingScripting, Glossary, JavaScript, l10n:priority
JavaScript (JS) is a programming language mostly used to dynamically script webpages on the client side, but it is also often utilized on the server-side, using packages such as Node.js.
208 Key Cryptography, Glossary, Security
A key is a piece of information used by a cipher for encryption and/or decryption.
209 Keyword Glossary, Keyword, Search, keyword search
A keyword is a word or phrase that describes content.  Online keywords are used as queries for search engines or as words identifying content on websites.
210 LGPL Glossary, License, OpenPractices, Remixing, Sharing
LGPL (GNU Lesser General Public License) is a free software license published by the Free Software Foundation. The LGPL provides a more permissive alternative for the strictly copyleft GPL. While any derivative work using a GPL-licensed program must be released under the same terms (free to use, share, study, and modify), the LGPL only requires the LGPL-licensed component of the derivative program to continue using the LGPL, not the whole program. LGPL is usually used to license shared components such as libraries (.dll, .so, .jar, etc.).
211 LTR (Left To Right) Composing, Glossary, Localization
LTR (Left To Right) is a locale property indicating that text is written from left to right. For example, the en-US locale (for US English) specifies left-to-right.
212 Ligature CSS, Design, Glossary
A ligature is a joining of two characters into one shape. For example, in French "œ" is a ligature of "oe".
213 Local scope CodingScripting, Glossary, NeedsContent
Local scope is a characteristic of variables that makes them local (i.e., the variable name is only bound to its value within a scope which is not the global scope).
214 Local variable CodingScripting, Glossary, NeedsContent
A variable whose name is bound to its value only within a local scope.
215 Locale Composing, Glossary, Locale
Locale is a set of language- or country-based preferences for a user interface.
216 Localization Collaborating, Glossary, Intro, Localization, WebMechanics
Localization (l10n) is the process of adapting a software user interface to a specific culture.
217 Loop CodingScripting, Glossary, control flow, programming
A loop is a sequence of instructions that is continually repeated until a certain condition is met in computer programming. An example would be the process of getting an item of data and changing it, and then making sure some condition is checked such as, if a counter has reached a prescribed number.
218 MIME type Glossary, WebMechanics
MIME type (now properly called "media type", but also sometimes "content type") is a string sent along with a file indicating the type of the file (describing the content format, for example, a sound file might be labeled audio/ogg, or an image file image/png).
219 MVC Glossary, Infrastructure, Intro, MVC, Model View Controller
MVC (Model-View-Controller) is a pattern in software design. It emphasizes a separation between the software’s business logic and display. This "separation of concerns" provides for a better division of labor and improved maintenance. Some other design patterns are based on MVC, such as MVVM (Model-View-Viewmodel), MVP (Model-View-Presenter), and MVW (Model-View-Whatever).
220 Main Axis CSS, Glossary, Main axis, flexbox
The main axis in flexbox is defined by the direction set by the flex-direction property. There are four possible values for flex-direction. These are:
221 MathML CodingScripting, Glossary, MathML, Mathematical Markup Language, XML
MathML (an XML application) is an open standard for representing mathematical expressions in webpages.  In 1998 the W3C first recommended MathML for representing mathematical expressions in the browser. MathML has other applications also including scientific content and voice synthesis.
222 Metadata CodingScripting, Glossary, HTML, metadata
Metadata is — in its very simplest definition — data that describes data. For example, an HTML document is data, but HTML can also contain metadata in its <head> element that describes the document — for example who wrote it, and its summary.
223 Method CodingScripting, Glossary, JavaScript
A method is a function which is a property of an object. There are two kind of methods: Instance Methods which are built-in tasks performed by an object instance, or Static Methods which are tasks that can be performed without the need of an object instance.
224 Microsoft Edge Browser, Glossary, Infrastructure
Microsoft Edge is a free-of-cost graphical Web browser bundled with Microsoft Windows and developed by Microsoft since 2014. Initially known as Spartan, Edge replaced the longstanding Microsoft browser Internet Explorer.
225 Microsoft Internet Explorer Browser, Glossary, Internet Explorer, Microsoft, Microsoft Internet Explorer, Navigation, Web Browser, Windows, Windows Operating System
Internet Explorer (or IE) is a free graphical browser maintained by Microsoft for legacy enterprise uses. Microsoft Edge is currently the default Windows browser.
226 Middleware CodingScripting, Glossary
Middleware is a (loosly defined) term for any software or service that enables the parts of a system to communicate and manage data. It is the software that handles communication between components and input/output, so developers can focus on the specific purpose of their application. 
227 MitM Glossary, Security
A Man-in-the-middle attack (MitM) intercepts a communication between two systems. For example, a Wi-Fi router can be compromised.
228 Mixin CodingScripting, Glossary, Method, Mixin, Property
A mixin is a class or interface in which some or all of its methods and/or properties are unimplemented, requiring that another class or interface provide the missing implementations.
229 Mobile First Design, Glossary, Layout, Layout mobile
Mobile first, a form of progressive enhancement, is a web-development and web-design approach that focuses on prioritizing design and development for mobile screen sizes over design and development for desktop screen sizes. The rationale behind the mobile-first approach is to provide users with good user experiences at all screen sizes—by starting with creating a user experience that works well on small screens, and then building on top of that to further enrich the user experience as the screen size increases. The mobile-first approach contrasts with the older approach of designing for desktop screen sizes first, and then only later adding some support for small screen sizes.
230 Modem Infrastructure, Navigation
A modem ("modulator-demodulator") is a device that converts digital information to analog signals and vice-versa, for sending data through networks.
231 Modern web apps Composing, Glossary, Modern web apps
See Progressive web apps
232 Modularity CodingScripting, Glossary
The term Modularity refers to the degree to which a system's components may be separated and recombined, it is also division of a software package into logical units. The advantage of a modular system is that one can reason the parts independently
233 Mozilla Firefox Browser, Firefox, Glossary, Infrastructure, Mozilla, Mozilla Firefox
Mozilla Firefox is a free open-source browser whose development is overseen by the Mozilla Corporation. Firefox runs on Windows, OS X, Linux, and Android.
234 Mutable CodingScripting, Glossary, NeedsContent
Mutable is a type of variable that can be changed. In JavaScript, only objects and arrays are mutable, not primitive values.
235 NAT Beginner, Glossary, Infrastructure, WebMechanics, WebRTC
NAT (Network Address Translation) is a technique for letting multiple computers share an IP address. NAT assigns unique addresses to each computer on the local network and adjusts incoming/outgoing network traffic to send data to the right place.
236 NNTP Glossary, Infrastructure
NNTP (Network News Transfer Protocol) is a protocol used to transfer Usenet messages from client to server or between servers.
237 NaN CodingScripting, Computing, Glossary, NaN
NaN (Not a Number) is a numeric data type that means an undefined value or value that cannot be represented, especially results of floating-point calculations.
238 Namespace CodingScripting, Glossary, Operating System
Namespace is a context for identifiers, a logical grouping of names used in a program. Within the same context and same scope,  an identifier must uniquely identify an entity.
239 Native CodingScripting, Glossary
A native application has been compiled to run on the hardware/software environment that comprises the targeted architecture.
240 Navigation directive CSP, HTTP, Security
CSP navigation directives are used in a Content-Security-Policy header and govern to which location a user can navigate to or submit a form to, for example.
241 Netscape Navigator Browser, Glossary, Navigation, Netscape, Netscape Navigator
Netscape Navigator or Netscape was a leading browser in the 1990s.  Netscape was based on Mosaic and the Netscape team was led by Marc Andreessen, a programmer who also wrote code for Mosaic.
242 Node Disambiguation, Glossary
The term node can have several meanings depending on the context. It may refer to:
243 Node (DOM) CodingScripting, Glossary
In the context of the DOM, a node is a single point in the node tree. Various things that are nodes are the document itself, elements, text, and comments.
244 Node (networking) Glossary, Infrastructure
In networking, a node is a connection point in the network. In physical networks, a node is usually a device, like a computer or a router.
245 Node.js Glossary, Infrastructure, JavaScript, node.js
Node.js is a cross-platform JavaScript runtime environment that allows developers to build server-side and network applications with JavaScript.
246 Normative Glossary, Infrastructure, Specification, Standardization
Normative is a word commonly used in software specifications to denote sections that are standardized and must be followed as a rule. Specifications might also contain sections that are marked as non-normative or informative, which means those are provided there for the purpose of helping the reader understand the specifications better or to showcase an example or best practice, which need not be followed as a rule.
247 Null CodingScripting, Glossary
In computer science, a null value represents a reference that points, generally intentionally, to a nonexistent or invalid object or address. The meaning of a null reference varies among language implementations.
248 Number CodingScripting, Glossary, JavaScript
In JavaScript, Number is a numeric data type in the double-precision 64-bit floating point format (IEEE 754). In other programming languages different numeric types can exist, for examples: Integers, Floats, Doubles, or Bignums.
249 OOP Beginner, CodingScripting, Glossary
OOP (Object-Oriented Programming) is an approach in programming in which data is encapsulated within objects and the object itself is operated on, rather than its component parts.
250 OTA Glossary, Infrastructure, Intro, OTA, Over the air, updates
Over The Air (OTA) refers to automatic updating of software on connected devices from a central server. All device owners receiving a given set of updates are on the same "channel", and each device often can access several channels (e.g. for production or engineering builds).
251 OWASP Glossary, Security
OWASP (Open Web Application Security Project) is a non-profit organization and worldwide network that works for security in Free Software, especially on the Web.
252 Object CodingScripting, Glossary, Intro, Object
Object refers to a data structure containing data and instructions for working with the data. Objects sometimes refer to real-world things, for example a car or map object in a racing game. JavaScript, Java, C++, Python, and Ruby are examples of object-oriented programming languages.
253 Object reference CodingScripting, Glossary
A link to an object. Object references can be used exactly like the linked objects.
254 OpenGL CodingScripting, Glossary, OpenGL
OpenGL (Open Graphics Library) is a cross-language, multi-platform application programming interface (API) for rendering 2D and 3D vector graphics. The API is typically used to interact with a graphics processing unit (GPU), to achieve hardware-accelerated rendering.
255 OpenSSL Glossary, Security
OpenSSL is an open-source implementation of SSL and TLS.
256 Opera Browser Browser, Glossary, Navigation, Opera, Opera Browser
Opera is the fifth most used web browser, publicly released in 1996 and initially running on Windows only. Opera uses Blink as its layout engine since 2013 (before that, Presto). Opera also exists in mobile and tablet versions.
257 Operand CodingScripting, Glossary
An operand is the part of an instruction representing the data manipulated by the operator. For example, when you add two numbers, the numbers are the operand and "+" is the operator.
258 Operator CodingScripting, Glossary
Reserved syntax consisting of punctuation or alphanumeric characters that carries out built-in functionality. For example, in JavaScript the addition operator ("+") adds numbers together and concatenates strings, whereas the "not" operator ("!") negates an expression — for example making a true statement return false.
259 Origin Glossary, Security, WebMechanics, origin
Web content's origin is defined by the scheme (protocol), host (domain), and port of the URL used to access it. Two objects have the same origin only when the scheme, host, and port all match.
260 P2P Glossary, Infrastructure, Networking, P2P
P2P (Peer-to-peer) is a computer networking architecture in which all participating nodes (peers) have equal privileges and share the workload. P2P differs from a client-server network architecture, where multiple client nodes connect to centralized servers for services. P2P is commonly found in Blockchain Applications.
261 PAC CodingScripting, Glossary
A Proxy Auto-Configuration file (PAC file) is a file which contains a function, FindProxyForURL(), which is used by the browser to determine whether requests (including HTTP, HTTPS, and FTP) should go directly to the destination or if they need to be forwarded through a web proxy server.
262 PDF Composing, Glossary, PDF, Portable Document Format
PDF (Portable Document Format) is a file format used to share documentation without depending on any particular software implementation, hardware platform, or operating system. PDF provides a digital image of a printed document, and keeps the same appearance when printed.
263 PHP Beginner, CodingScripting, Glossary, Infrastructure, Intro, PHP
PHP (a recursive initialism for PHP: Hypertext Preprocessor) is an open-source server-side scripting language that can be embedded into HTML to build web applications and dynamic websites.
264 PNG Beginner, Composing, Glossary, Infrastructure, PNG
PNG (Portable Network Graphics) is a graphics file format that supports lossless data compression.
265 POP3 Beginner, Glossary, Infrastructure
POP3 (Post Office Protocol) is a very common protocol for getting emails from a mail server over a TCP connection. POP3 does not support folders, unlike the more recent IMAP4, which is harder to implement because of its more complex structure.
266 Parameter CodingScripting, Glossary, JavaScript
A parameter is a named variable passed into a function. Parameter variables are used to import arguments into functions.
267 Parent object CodingScripting, Glossary, NeedsContent
The object to which a given property or method belongs.
268 Parse CodingScripting, Glossary, JavaScript
Parsing means analyzing and converting a program into an internal format that a runtime environment can actually run, for example the JavaScript engine inside browsers.
269 Parser CodingScripting, Glossary
A parser is the module of a compiler or interpreter that parses a source code file.
270 Percent-encoding Glossary, WebMechanics
Percent-encoding is a mechanism to encode 8-bit characters that have specific meaning in the context of URLs. It is sometimes called URL encoding. The encoding consists of substitution: A '%' followed by the hexadecimal representation of the ASCII value of the replace character.
271 Pixel Design, Glossary, Graphics
A pixel is the smallest building block of a graphical display like a computer screen.
272 Placeholder names Cryptography, Glossary, Security
Placeholder names are commonly used in cryptography to indicate the participants in a conversation, without resorting to terminology such as "Party A," "eavesdropper," and "malicious attacker."
273 Plaintext Cryptography, Glossary, Security
Plaintext refers to information that is being used as an input to an encryption algorithm, or to ciphertext that has been decrypted.
274 Polyfill CodingScripting, Glossary
A polyfill is a piece of code (usually JavaScript on the Web) used to provide modern functionality on older browsers that do not natively support it.
275 Polymorphism CodingScripting, Glossary
Polymorphism is the presentation of one interface for multiple data types.

For example, integers, floats, and doubles are implicitly polymorphic: regardless of their different types, they can all be added, subtracted, multiplied, and so on.
276 Port Glossary, Intro, Security, computer network, port
For a computer connected to a network with an IP address, a port is a communication endpoint. Ports are designated by numbers, and below 1024 each port is associated by default with a specific protocol.
277 Preflight request CORS, Glossary, HTTP, Preflight, request
A CORS preflight request is a CORS request that checks to see if the CORS protocol is understood.
278 Presto Glossary, Infrastructure
Presto was the proprietary browser layout engine used to power the Opera browser until version 15. Since then, the Opera browser is based on Chromium, which uses the Blink layout engine.
279 Primitive CodingScripting, Glossary, JavaScript
A primitive (primitive value, primitive data type) is data that is not an object and has no methods. In JavaScript, there are 6 primitive data types: string, number, boolean, null, undefined, symbol (new in ECMAScript 2015).
280 Privileged Glossary, Security
Users are said to be privileged when they are granted additional rights to a system, or given ultimate access to content in a higher priority level when compared to normal users.
281 Progressive Enhancement Accessibility, Design, Glossary
Progressive enhancement is a design philosophy that centers around providing a baseline of essential content and functionality to as many users as possible, while at the same time going further and delivering the best possible experience only to users of the most modern browsers that can run all the required code.
282 Progressive web apps Composing, Glossary, Progressive web apps
Progressive web apps is a term used to describe the modern state of web app development. This involves taking standard web sites/apps that enjoy all the best parts of the Web — such as discoverability via search engines, being linkable via URLs, and working across multiple form factors — and supercharging them with modern APIs (such as Service Workers and Push) and features that confer other benefits more commonly attributed to native apps.
283 Promise Glossary, Promise, Promises, asynchronous
A Promise is an object that's returned by a function that has not yet completed its work. The promise literally represents a promise made by the function that it will eventually return a result through the promise object.
284 Property Disambiguation, Glossary
The term property can have several meanings depending on the context. It may refer to:
285 Property (CSS) CodingScripting, Glossary
A CSS property is a characteristic (like color) whose associated value defines one aspect of how the browser should display the element.
286 Property (JavaScript) CodingScripting, Glossary
A JavaScript property is a characteristic of an object, often describing attributes associated with a data structure.
287 Protocol Glossary, Infrastructure, Protocols
A protocol is a system of rules that define how data is exchanged within or between computers. Communications between devices require that the devices agree on the format of the data that is being exchanged. The set of rules that defines a format is called a protocol.
288 Prototype Apps, Composing, Glossary
A prototype is a model that displays the appearance and behavior of an application or product early in the development lifecycle.
289 Prototype-based programming CodingScripting, Glossary
Prototype-based programming is a style of object-oriented programming in which classes are not explicitly defined, but rather derived by adding properties and methods to an instance of another class or, less frequently, adding them to an empty object.

In simple words: this type of style allows the creation of an object without first defining its class.
290 Proxy server Glossary, Proxy, Server
A proxy server is an intermediate program or computer used when navigating through different networks of the Internet. They facilitate access to content on the World Wide Web. A proxy intercepts requests and serves back responses; it may forward the requests, or not (for example in the case of a cache), and it may modify it (for example changing its headers, at the boundary between two networks).
291 Pseudo-class CSS, CodingScripting, Glossary, Selector
In CSS, a pseudo-class selector targets elements depending on their state rather than on information from the document tree. For example, the selector a:visited applies styles only to links that the user has already followed.
292 Pseudo-element CSS, CodingScripting, Glossary
In CSS, a pseudo-element selector applies styles to parts of your document content in scenarios where there isn't a specific HTML element to select. For example, rather than putting the first letter of each paragraph in its own element, you can style them all with p::first-letter.
293 Pseudocode CodingScripting, Glossary, Pseudocode
Pseudocode refers to code-like syntax that is generally used to indicate to humans how some code syntax works, or illustrate the design of an item of code architecture. It won't work if you try to run it as code.
294 Public-key cryptography Cryptography, Glossary, Security
Public-key cryptography is a cryptographic system in which keys come in pairs. The transformation performed by one of the keys can only be undone with the other key. One key (the private key) is kept secret while the other is made public.
295 Python CodingScripting, Glossary, Language, Python, programming
Python is a high level general-purpose programming language. It uses a multi-paradigm approach, meaning it supports procedural, object-oriented, and some functional programming constructs.
296 Quality values Glossary, WebMechanics
Quality values, or q-values and q-factors, are used to describe the order of priority of values in a comma-separated list. It is a special syntax allowed in some HTTP headers and in HTML.
297 RDF CodingScripting, Glossary, Infrastructure, OpenPractices, WebMechanics
RDF (Resource Description Framework) is a language developed by W3C for representing information on the World Wide Web, such as Webpages. RDF provides a standard way of encoding resource information so that it can be exchanged in a fully automated way between applications.
298 REST Architecture, Beginner, Glossary, HTTP, Rest, WebMechanics
Representational State Transfer (REST) refers to a group of software architecture design constraints that bring about efficient, reliable, and scalable distributed systems. A system is called RESTful when it adheres to those constraints.
299 RGB Beginner, CSS, Design, Guide
Red Green Blue (RGB) is a color model that represents colors as mixtures of three underlying components (or channels), namely, red, green, and blue. Each color is described by a sequence of three numbers (typically between 0.0 and 1.0, or between 0 and 255) that represent the different intensities (or contributions) of red, green, and blue, in determining the final color.
300 RIL Firefox OS, Glossary, Infrastructure, Intro, Mobile, Telephony
RIL (Radio Interface Layer) is a mobile operating system component which communicates between the device's software and the device's phone, radio, or modem hardware.
301 RSS Glossary, OpenPractices, RSS, Sharing, WebMechanics
RSS (Really Simple Syndication) refers to several XML document formats designed for publishing site updates. When you subscribe to a website's RSS feed, the website sends information and updates to your RSS reader in an RSS document called a feed, so you don't need to check all your favorite websites manually.
302 RTF Composing, Format, Glossary, RTF, Rich Text Format
RTF (Rich Text Format) is a plain-text-based file format with support for formatting instructions (like bold or italic).
303 RTL (Right to Left) Composing, Glossary, Localization
RTL (Right To Left) is a locale property indicating that text is written from right to left.
304 RTP (Real-time Transport Protocol) and SRTP (Secure RTP) Glossary, Network, Protocol, RTP
Real-time transport protocol (RTP) is a network protocol which described how to transmit various media (audio, video) from one endpoint to another in a real-time fashion. RTP is suitable for video-streaming application, telephony over IP like Skype and conference technologies.
305 RTSP: Real-time streaming protocol Glossary, Real-time streaming protocol, Reference, rtsp
Real-time streaming protocol (RTSP) is a network protocol that controls how the streaming of a media should occur between a server and a client. Basically, RTSP is the protocol that describes what happens when you click "Pause"/"Play" when streaming a video. If your computer were a remote control and the streaming server a television, RTSP would describe how the instruction of the remote control affects the TV.
306 Random Number Generator CodingScripting, Glossary
A PRNG (pseudorandom number generator) is an algorithm that outputs numbers in a complex, seemingly unpredictable pattern. Truly random numbers (say, from a radioactive source) are utterly unpredictable, whereas all algorithms are predictable, and a PRNG returns the same numbers when passed the same starting parameters or seed.
307 Raptor CodingScripting, Glossary
Raptor: New Performance Tools for Gaia
308 Raster image
A raster image is an image file defined as a grid of pixels. They’re also referred to as bitmaps. Common raster image formats on the Web are JPEG, PNG, GIF, and ICO.
309 Recursion CodingScripting, Glossary
An act of a function calling itself. Recursion is used to solve problems that contain smaller sub-problems. A recursive function can receive two inputs: a base case (ends recursion) or a recursive case (continues recursion).
310 Reference CodingScripting, Glossary, NeedsContent
In the context of objects, this is an object reference. On MDN, we could be talking about the JavaScript reference itself.
311 Reflow Glossary, WebMechanics
Reflow happens when a browser must process and draw part or all of a webpage again, such as after an update on an interactive site.
312 Regular expression CodingScripting, Glossary, Regular Expression
Regular expressions (or regex) are rules that govern which sequences of characters come up in a search.
313 Rendering engine Glossary, Infrastructure, Rendering engine, Web browser engine
A rendering engine is software that draws text and images on the screen. The engine draws structured text from a document (often HTML), and formats it properly based on the given style declarations (often given in CSS). Examples of layout engines: Blink, Gecko, Edge, WebKit.
314 Repo Glossary, Infrastructure, Intro, Repo, Repository
In a revision control system like Git or SVN, a repo (i.e. "repository") is a place that hosts an application's code source, together with various metadata.
315 Reporting directive CSP, HTTP, Security
CSP reporting directives are used in a Content-Security-Policy header and control the reporting process of CSP violations.
316 Request header Glossary, WebMechanics
A request header is an HTTP header that can be used in an HTTP request, and that doesn't relate to the content of the message. Request headers, like Accept, Accept-*, or If-* allow to perform conditional requests; others like Cookie, User-Agent or Referer precise the context so that the server can tailor the answer.
317 Response header Glossary, WebMechanics
A response header is an HTTP header that can be used in an HTTP response and that doesn't relate to the content of the message. Response headers, like Age, Location or Server are used to give a more detailed context of the response.
318 Responsive web design Accessibility, Design, Glossary, Responsive web design
Responsive Web Design (RWD) is a Web development concept focusing on making sites look and behave optimally on all personal computing devices, from desktop to mobile.
319 Robots.txt Glossary, Infrastructure
Robots.txt is a file which is usually placed in the root of any website. It decides whether crawlers are permitted or forbidden access to the web site.
320 Ruby CodingScripting, Glossary, Ruby
Ruby is an open-source programming language. In a Web context, Ruby is often used server-side with the Ruby On Rails (ROR) framework to produce websites/apps.
321 SCM CodingScripting, Glossary, SCM
SCM (Source Control Management) is a system for managing source code. Usually it refers to the use of software to handle versioning of source files. A programmer can modify source code files without being afraid of editing out useful stuff, because a SCM keeps track of how the source code has changed and who made the changes.
322 SCTP Glossary, Infrastructure, SCTP, WebRTC
SCTP (Stream Control Transmission Protocol) is an IETF standard for a transport protocol which enables the reliable, in-order transmission of messages while offering congestion control, multi-homing, and other features to improve reliability and stability of the connection. It's used for sending traditional telephone calls over the Internet, but is also used for WebRTC data.
323 SDP Advanced, Collaborating, Glossary, Infrastructure, Protocol, WebRTC
SDP (Session Description Protocol) is the standard describing a peer-to-peer connection. SDP contains the codec, source address, and timing information of audio and video.
324 SEO Glossary, Intro, SEO, Search, WebMechanic, open
SEO (Search Engine Optimization) is the process of making a website more visible in search results, also termed improving search rankings.
325 SGML CodingScripting, Composing, Glossary, SGML
The Standard Generalized Markup Language (SGML) is an ISO specification for defining declarative markup languages.
326 SIMD CodingScripting, Glossary, JavaScript
SIMD (pronounced "sim-dee") is short for Single Instruction/Multiple Data which is one classification of computer architectures. SIMD allows one same operation to be performed on multiple data points resulting in data level parallelism and thus performance gains — for example, for 3D graphics and video processing, physics simulations or cryptography, and other domains.
327 SISD CodingScripting, Glossary
SISD is short for Single Instruction/Single Data which is one classification of computer architectures. In SISD architecture, a single processor executes a single instruction and operates on a single data point in memory.
328 SLD Glossary, Infrastructure
An SLD (Second Level Domain) is a domain that is hierarchically directly below a TLD.
329 SMTP Beginner, Collaboration, Glossary, Infrastructure, Sharing
SMTP (Simple Mail Transfer Protocol) is a protocol used to send a new email.  Like POP3 and NNTP, it is a state machine-driven protocol.
330 SOAP Glossary, Infrastructure, SOAP, WebMechanics
SOAP (Simple Object Access Protocol) is a protocol for transmitting data in XML format. Firefox removed support for SOAP in 2008.
331 SQL CodingScripting, Database, Glossary, Sql
SQL (Structured Query Language) is a descriptive computer language designed for updating, retrieving, and calculating data in table-based databases.
332 SQL Injection Glossary, Security, Sql, Sql Injection, Webapp
SQL injection takes advantage of Web apps that fail to validate user input. Hackers can maliciously pass SQL commands through the Web app for execution by a backend database.
333 SRI CSP, Security
Subresource Integrity (SRI) is a security feature that enables browsers to verify that files they fetch (for example, from a CDN) are delivered without unexpected manipulation. It works by allowing you to provide a cryptographic hash that a fetched file must match.
334 SSL Glossary, SSL, Security, TLS
SSL (Secure Sockets Layer) is a standard protocol that ensures communication sent between two computer applications is private and secure (cannot be read nor changed by outside observers). It is the foundation for the TLS protocol.
335 STUN Glossary, Infrastructure, STUN, WebMechanics, WebRTC
STUN (Session Traversal Utilities for NAT) is an auxiliary protocol for transmitting data around a NAT (Network Address Translator). STUN returns the IP addressport, and connectivity status of a networked computer behind a NAT.
336 SVG Beginner, CodingScripting, Glossary, Graphics, SVG, l10n:priority
Scalable Vector Graphics (SVG) is a 2D vector image format based on an XML syntax.
337 SVN Collaborating, Glossary
Apache Subversion (SVN) is a free source control management (SCM) system. It allows developers to keep a history of text and code modifications. Although SVN can also handle binary files, we do not recommend that you use it for such files.
338 Safe Glossary, WebMechanics
An HTTP method is safe if it doesn't alter the state of the server. In other words, a method is safe if it leads to a read-only operation. Several common HTTP methods are safe: GET, HEAD, or OPTIONS. All safe methods are also idempotent as well as some, but not all, unsafe methods like PUT, or DELETE.
339 Same-origin policy Glossary, Same-origin policy, origin
The same-origin policy is a critical security mechanism that restricts how a document or script loaded from one origin can interact with a resource from another origin.
340 Scope CodingScripting, Glossary, JavaScript
The current context of execution. The context in which values and expressions are "visible," or can be referenced. If a variable or other expression is not "in the current scope," then it is unavailable for use. Scopes can also be layered in a hierarchy, so that child scopes have access to parent scopes, but not vice versa.
341 Script-supporting element Glossary, HTML, HTML Content Categories, scripts
In an HTML document, script-supporting elements are those elements that don't directly contribute to the appearance or layout of the page; instead, they're either scripts or contain information that's only used by scripts.
342 Scroll container Glossary, scroll container
A scroll container is created by applying overflow: scroll to a container, or overflow: auto when there is enough content to cause overflow.
343 Scrollport Glossary, scrollport
The scrollport is the visual viewport of a scroll container in a document. A scroll container is created by applying overflow: scroll to a container, or overflow: auto when there is enough content to cause overflow. The scrollport coincides with the padding box of that container and represents the content that can be seen as the box is scrolled.
344 Search engine Definition, Glossary, Indexing, Search Engine, Searching, Web Crawling, WebMechanics, World Wide Web, details, google
A search engine is a software system that collects information from the World Wide Web and presents it to users who are looking for specific information.
345 Second-level Domain Glossary, Infrastructure
An SLD (Second Level Domain) is a domain that is hierarchically directly below a TLD.
346 Selector (CSS) CSS, CSS Selector, CodingScripting, Glossary, HTML, Selector
A CSS selector is the part of a CSS rule that describes what elements in a document the rule will match. The matching elements will have the rule's specified style applied to them.
347 Self-Executing Anonymous Function Glossary
A JavaScript function that runs as soon as it is defined. Also known as an IIFE (Immediately Invoked Function Expression).
348 Semantics CodingScripting, Glossary, HTML, semantics
In programming, Semantics refers to the meaning of a piece of code — for example "what effect does running that line of JavaScript have?", or "what purpose or role does that HTML element have" (rather than "what does it look like?".)
349 Serialization CodingScripting, Glossary, JavaScript, Serialization
The process whereby an object or data structure is translated into a format suitable for transferral over a network, or storage (e.g. in an array buffer or file format).
350 Server Glossary, Infrastructure, Networking, Protocol, Server
A server is a software or hardware offering a service to a user, usually referred to as client.  A hardware server is a shared computer on a network, usually powerful and housed in a data center.  A software server (often running on a hardware server) is a program that provides services to client programs or a user interface to human clients.
351 Session Hijacking Glossary, Security, session hijacking
Session hijacking occurs when an attacker takes over a valid session between two computers. The attacker steals a valid session ID in order to break into the system and snoop data.
352 Shadow tree DOM, Glossary, Shadow Tree, shadow dom
A shadow tree is a tree of DOM nodes whose topmost node is a shadow root; that is, the topmost node within a shadow DOM. A shadow tree is a hidden set of standard DOM nodes which is attached to a standard DOM node that serves as a host. The hidden nodes are not directly visible using regular DOM functionality, but require the use of a special Shadow DOM API to access.
353 Shim CodingScripting, Glossary
shim is a piece of code used to correct the behavior of code that already exists, usually by adding new API that works around the problem. This differs from a polyfill, which implements a new API that is not supported by the stock browser as shipped.
354 Signature Disambiguation, Glossary
The term signature can have several meanings depending on the context. It may refer to:
355 Signature (functions) CodingScripting, Glossary, Java, JavaScript
A function signature (or type signature, or method signature) defines input and output of functions or methods.
356 Signature (security) Cryptography, Glossary, Privacy, Security
A signature, or digital signature, is a protocol showing that a message is authentic.
357 Simple header CORS, Glossary, HTTP, Infrastructure
A simple header (or CORS-safelisted request header) is one of the following HTTP headers:
358 Simple response header CORS, Glossary, HTTP
A simple response header (or a CORS-safelisted response header) is an HTTP header which has been safelisted so that it will not be filtered when responses are processed by CORS, since they're considered safe (as the headers listed in Access-Control-Expose-Headers).
359 Sloppy mode CodingScripting, Glossary, JavaScript, Sloppy
ECMAScript 5 and later let scripts opt in to a new strict mode, which alters the semantics of JavaScript in several ways to improve its resiliency and which make it easier to understand what's going on when there are problems.
360 Slug Community, Glossary, Intermediate, MDN, URL, Web
A Slug is the unique identifying part of a web address, typically at the end of the URL. In the context of MDN, it is the portion of the URL following "<locale>/docs/".
361 Smoke Test Composing, Glossary, Intro, QA, Testing
A smoke test consists of functional or unit tests of critical software functionality. Smoke testing comes before further, in-depth testing.
362 Snap positions Glossary, snap positions
A scroll container may set snap positions — points that the scrollport will stop moving at after a scrolling operation is completed. This allows a scrolling experience that gives the effect of paging through content rather than needing to drag content into view.
363 Specification Glossary, OpenPractices, Standardization
specification is a document that lays out in detail what functionality or attributes a product must include before delivery. In the context of describing the Web, the term "specification" (often shortened to simply "spec") generally means a document describing a language, technology, or API which makes up the complete set of open Web technologies.
364 Stacking context CSS, CodingScripting, Glossary
Stacking context refers to how elements on a webpage appear to sit on top of other elements, just as you can arrange index cards on your desk to lie side-by-side or overlap each other.
365 State machine CodingScripting, Finite, Glossary, Input, Mealy, Moore, State Machine, Turing Machine
A state machine is a mathematical abstraction used to design algorithms. A state machine reads a set of inputs and changes to a different state based on those inputs.
366 Statement Beginner, CodingScripting, Glossary
In a computer programming language, a statement is a line of code commanding a task. Every program consists of a sequence of statements.
367 Static typing CodingScripting, Glossary, Type
A statically-typed language is a language (such as Java, C, or C++) where variable types are known at compile time. In most of these languages, types must be expressly indicated by the programmer; in other cases (such as OCaml), type inference allows the programmer to not indicate their variable types.
368 String Beginner, CodingScripting, Glossary, String
In any computer programming language, a string is a sequence of characters used to represent text.
369 Symbol ECMAScript 2015, Glossary, JavaScript, NeedsMarkupWork, Sharing
This glossary page describes both a data type, called "symbol", and the class-like function, called "Symbol()", that (among other things) creates instances of the symbol data type.
370 Symmetric-key cryptography
Symmetric-key cryptography is a term used for cryptographic algorithms that use the same key for encryption and for decryption. The key is usually called a "symmetric key" or a "secret key".
371 Synchronous Glossary, Web, WebMechanics
Synchronous refers to real-time communication where each party receives (and if necessary, processes and replies to) messages instantly (or as near to instantly as possible).
372 Syntax CodingScripting, Glossary
Syntax specifies the required combination and sequence of characters making up correctly structured code. Syntax varies from language to language (e.g., syntax is different in HTML and JavaScript). Syntax applies both to programming languages (commands to the computer) and markup languages (document structure information).
373 Syntax error CodingScripting, Glossary, JavaScript
An exception caused by the incorrect use of a pre-defined syntax. Syntax errors are detected while compiling or parsing source code.
374 TCP Glossary, Infrastructure, Networking, TCP, Transmission Control Protocol, data
TCP (Transmission Control Protocol) is an important network protocol that lets two hosts connect and exchange data streams.  TCP guarantees the delivery of data and packets in the same order as they were sent.  Vint Cerf and Bob Kahn, who were DARPA scientists at the time, designed TCP in the 1970s.
375 TLD Glossary, Web, WebMechanics
A TLD (top-level domain) is the most generic domain in the Internet's hierarchical DNS (domain name system). A TLD is the final component of a domain name, for example, "org" in developer.mozilla.org.
376 TLS Cryptography, Glossary, Infrastructure, Security
Transport Layer Security (TLS), previously known as Secure Sockets Layer (SSL), is a protocol used by applications to communicate securely across a network, preventing tampering with and eavesdropping on email, web browsing, messaging, and other protocols.
377 TOFU HTTP, SSH, Security
Trust On First Use (TOFU) is a security model in which a client needs to create a trust relationship with an unknown server. To do that, clients will look for identifiers (for example public keys) stored locally. If an identifier is found, the client can establish the connection. If no identifier is found, the client can prompt the user to determine if the client should trust the identifier.
378 TTL Caching, Domain Name System, Glossary, Infrastructure, Networking, Performance
TTL can refer either to : the lifetime of a packet in a network can do before being releasedthe expiry time of cached data
379 TURN Glossary, Infrastructure, TURN, WebMechanics, WebRTC
TURN (Traversal Using Relays around NAT) is a protocol enabling a computer to receive and send data from behind a Network Address Translator (NAT) or firewall.
380 Tag CodingScripting, Glossary, HTML, Intro
In HTML a tag is used for creating an element.  The name of an HTML element is the name used in angle brackets such as <p> for paragraph.  Note that the end tag's name is preceded by a slash character, "</p>", and that in empty elements the end tag is neither required nor allowed. If attributes are not mentioned, default values are used in each case.
381 Telnet Glossary, Infrastructure
Telnet is a command line tool and an underlying TCP/IP protocol for accessing remote computers.
382 Texel 3D, Drawing, Glossary, Graphics, Texel, Texture
A texel is a single pixel within a texture map, which is an image that gets used (in whole or in part) as the image presented on a polygon's surface within a 3D rendered image. The process of mapping the appropriate texels to their corresponding points on a polygon is called texture mapping, which is a stage of the process of rendering a 3D image for display. Texture mapping is typically done prior to lighting the scene; however, in WebGL, lighting is performed as part of the texture mapping process.
383 Three js Browser, CodingScripting, JavaScript, Programming Language, three.js
three.js is a JavaScript-based WebGL engine that can run GPU-powered games and other graphics-powered apps straight from the browser. The three.js library provides many features and APIs for drawing 3D scenes in your browser.
384 Tree shaking JavaScript, Modules, Statement, export, import, tree shaking
Tree shaking is a term commonly used within a JavaScript context to describe the removal of dead code.
385 Trident Browser, Glossary, Infrastructure, Trident
Trident (or MSHTML) was a layout engine that powered Internet Explorer. A Trident fork called EdgeHTML replaced Trident in Internet Explorer's successor, Edge.
386 Truthy CodingScripting, Glossary, JavaScript
In JavaScript, a truthy value is a value that is considered  true when encountered in a Boolean context. All values are truthy unless they are defined as falsy (i.e., except for false, 0, "", null, undefined, and NaN).
387 Type CodingScripting, Glossary, JavaScript
Type  (or data type) is a characteristic of a value affecting what kind of data it can store — for example in JavaScript a Boolean only holds true/false values, whereas a String holds text strings, a Number holds numbers of any kind, and so on.
388 Type Conversion CodingScripting, Glossary, Type casting, Type conversion
Type conversion (or typecasting) means transfer of data from one data type to another. Implicit conversion happens when the compiler automatically assigns data types, but the source code can also explicitly require a conversion to take place. For example, given the instruction 5+2.0, the floating point 2.0 is implicitly typecasted into an integer, but given the instruction Number("0x11"), the string "0x11" is explicitly typecasted as the number 17.
389 UDP (User Datagram Protocol) Glossary, Infrastructure, Networking, Protocols, UDP
UDP (User Datagram Protocol) is a long standing protocol used together with IP for sending data when transmission speed and efficiency matter more than security and reliability.
390 UI Accessibility, Design, Glossary
User Interface (UI) is anything that facilitates the interaction between a user and a machine. In the world of computers, it can be anything from a keyboard, a joystick, a screen or a program. In case of computer software, it can be a command-line prompt, a webpage, a user input form, or the front-end of any application.
391 URI Glossary, HTTP, Landing, Search, URI, URL
A URI (Uniform Resource Identifier) is a string that refers to a resource. The most common are URLs, which identify the resource by giving its location on the Web. URNs, by contrast, refer to a resource by a name, in a given namespace, such as the ISBN of a book.
392 URL Glossary, Infrastructure, l10n:priority
Uniform Resource Locator (URL) is a text string specifying where a resource can be found on the Internet.
393 URN Glossary, Intro, Navigation, urn
URN (Uniform Resource Name) is a URI in a standard format, referring to a resource without specifying its location or whether it exists. This example comes from RFC3986: urn:oasis:names:specification:docbook:dtd:xml:4.1.2
394 UTF-8 CodingScripting, Glossary, HTML, JavaScript, Utf-8
UTF-8 (UCS Transformation Format 8) is the World Wide Web's most common character encoding. Each character is represented by one to four bytes. UTF-8 is backward-compatible with ASCII and can represent any standard Unicode character.
395 UX Accessibility, Composing, Design, Glossary, Navigation
UX is an acronym that stands for User eXperience. It is the study of the interaction between users and a system. Its goal is to make a system easy to interact with from the user's point of view.
396 Unicode Infrastructure
Unicode is a standard character set that numbers and defines characters from the world's different languages, writing systems, and symbols.
397 Usenet Glossary, WebMechanics
Usenet is an internet discussion system where each post is duplicated on many servers. The equivalent of Internet forums in its day, Usenet functioned like a bulletin board system.
398 User agent Browser, Glossary, UA, User-agent, Web Browser, WebMechanics, agent, user agent, userAgent
A user agent is a computer program representing a person, for example, a browser in a Web context.
399 Validator Beginner, Glossary, Security
A validator is a program that checks for syntax errors in code. Validators can be created for any format or language, but in our context we speak of tools that check HTMLCSS, and XML.
400 Value CodingScripting, Glossary, NeedsContent
In the context of data or an object wrapper around that data, the value is the primitive value that the object wrapper contains. In the context of a variable or property, the value can be either a primitive or an object reference.
401 Variable CodingScripting, Glossary, JavaScript
A variable is a named location for storing a value. That way an unpredictable value can be accessed through a predetermined name.
402 Vendor Prefix CodingScripting, Glossary
Browser vendors sometimes add prefixes to experimental or nonstandard CSS properties and JavaScript APIs, so developers can experiment with new ideas while—in theory—preventing their experiments from being relied upon and then breaking web developers' code during the standardization process. Developers should wait to include the unprefixed property until browser behavior is standardized.
403 Viewport CodingScripting, Glossary
A viewport represents a polygonal (normally rectangular) area in computer graphics that is currently being viewed. In web browser terms, it refers to the part of the document you're viewing which is currently visible in its window (or the screen, if the document is being viewed in full screen mode). Content outside the viewport is not visible onscreen until scrolled into view.
404 Visual Viewport Glossary, Reference, VisualViewport, viewport, visual viewport
The portion of the viewport that is currently visible is called the visual viewport. This can be smaller than the layout viewport, such as when the user has pinched-zoomed. The visual viewport is the visual portion of a screen excluding on-screen keyboards, areas outside of a pinch-zoom area, or any other on-screen artifact that doesn't scale with the dimensions of a page.
405 VoIP Glossary, Infrastructure, VoIP
VoIP (Voice over Internet Protocol) is a technology used to transmit voice messages over IP (Internet Protocol) networks. Common VoIP packages include Skype, Msn Messenger, Yahoo and many more. Everything transferrred through VoIP is digital. It is also known as IP telephony, or broadband telephony. The main reason for using VoIP technology is because of cost.
406 W3C Community, Consortium, Glossary, Intro, W3C, Web consortium
The World Wide Web Consortium (W3C) is an international body that maintains Web-related rules and frameworks.
407 WAI Accessibility, Glossary
WAI or Web Accessibility Initiative is an effort by the World Wide Web Consortium (W3C) to improve accessibility for people with various challenges, who may need a nonstandard browser or devices.
408 WCAG Accessibility, Glossary, WCAG, Web Guidelines
Web Content Accessibility Guidelines (WCAG) are a recommendation published by the Web Accessibility Initiative group at the W3C. They outline a set of guidelines for making content accessible primarily for people with disabilities but also for limited-resource devices such as mobile phones.
409 WHATWG Community, Glossary, HTML, HTML5, WHATWG, Web
The WHATWG (Web Hypertext Application Technology Working Group) is an organization that maintains and develops HTML and APIs for Web applications. Former employees of Apple, Mozilla, and Opera established WHATWG in 2004.
410 Web standards Glossary, Infrastructure, Web Standards, standards, web specifications
Web standards are rules established by international standards bodies and defining how how the Web works (and sometimes controlling the Internet as well).
411 WebDAV Glossary, Infrastructure
WebDAV (Web Distributed Authoring and Versioning) is an HTTP Extension that lets web developers update their content remotely from a client.
412 WebExtensions CodingScripting, Glossary, NeedsContent, WebExtensions
WebExtensions is a cross-browser system for developing browser extensions in Firefox. This system provides APIs, which to a large extent are supported across different browsers like Mozilla Firefox, Google Chrome, Opera Browser, and Microsoft Edge .
413 WebGL Advanced, CodingScripting, Glossary, Web Graphics, WebGL
WebGL (Web Graphics Library) is a JavaScript API that draws interactive 2D and 3D graphics.
414 WebIDL CodingScripting, Glossary, WebIDL
WebIDL is the interface description language used to describe the data types, interfaces, methods, properties, and other components which make up a Web application programming interface (API). It uses a somewhat stylized syntax which is independent of any specific programming language, so that the underlying code which is used to build each API can be written in whatever language is most appropriate, while still being possible to map the API's components to JavaScript-compatible constructs.
415 WebKit Browser, Glossary, Intro, Web, WebKit, WebMechanics
WebKit is a framework that displays properly-formatted webpages based on their markup. Apple Safari depends on WebKit, and so do many mobile browsers (since WebKit is highly portable and customizable).
416 WebM Composing, Glossary, Infrastructure, WebM
WebM is royalty-free and is an open web video format natively supported in Mozilla Firefox.
417 WebP Beginner, Composing, Glossary, Infrastructure, WebP
WebP is a lossless and lossy compression image format developed by Google.
418 WebRTC CodingScripting, Glossary, Infrastructure, JavaScript, P2P, VoIP, Web, WebRTC
WebRTC (Web Real-Time Communication) is an API that can be used by video-chat, voice-calling, and P2P-file-sharing Web apps.
419 WebSockets Connection, Glossary, Infrastructure, Networking, Protocols, Web, WebSocket
WebSocket is a protocol that allows for a persistent TCP connection between server and client so they can exchange data at any time.
420 WebVTT Audio, CodingScripting, Glossary, Video, Web, WebVTT
WebVTT (Web Video Text Tracks) is a W3C specification for a file format marking up text track resources in combination with the HTML <track> element.
421 World Wide Web Glossary, Infrastructure, WWW, World Wide Web
The World Wide Web—commonly referred to as WWW, W3, or the Web—is an interconnected system of public webpages accessible through the Internet. The Web is not the same as the Internet: the Web is one of many applications built on top of the Internet.
422 Wrapper CodingScripting, Glossary, Wrapper
In programming languages such as JavaScript, a wrapper is a function that is intended to call one or more other functions, sometimes purely for convenience, and sometimes adapting them to do a slightly different task in the process.
423 XForms CodingScripting, Glossary, Obsolete, XForms
XForms is a convention for building Web forms and processing form data in the XML format.
424 XHR (XMLHttpRequest) API, Beginner, CodingScripting, Glossary, XMLHttpRequest
XMLHttpRequest (XHR) is a JavaScript API to create AJAX requests. Its methods provide the ability to send network requests between the browser and a server.
425 XHTML CodingScripting, Glossary, XHTML
HTML can travel over the network to a browser either in HTML syntax or an XML syntax called XHTML.
426 XInclude CodingScripting, Glossary
XML Inclusions (XInclude) is a W3C Recommendation to allow inclusion of XML more different sources in a more convenient fashion than XML external entities. When used in conjunction with XPointer (Firefox supports a subset of it, and is used in the code sample below), XInclude can also target just specific portions of a document for inclusion. Firefox does not support it natively, but the following function aims to allow its use with documents passed into it.
427 XLink CodingScripting, Glossary
XLink is a W3C standard which is used to describe links between XML and XML or other documents. Some its behaviors are left to the implementation to determine how to handle.
428 XML CodingScripting, Glossary, XML, l10n:priority
eXtensible Markup Language (XML) is a generic markup language specified by the W3C. The information technology (IT) industry uses many languages based on XML as data-description languages.
429 XPath CodingScripting, Glossary, XML, XPath
XPath is a query language that can access sections and content in an XML document.
430 XQuery CodingScripting, Glossary, XML, XQuery
XQuery is a computer language for updating, retrieving, and calculating data in XML databases.
431 XSLT CodingScripting, Glossary, XML, XSLT
eXtensible Stylesheet Language Transformations (XSLT) is a declarative language used to convert XML documents into other XML documents, HTML, PDF, plain text, and so on.
432 buffer Buffer, CodingScripting, Glossary, NeedsContent
A buffer is a storage in physical memory used to temporarily store data while it is being transferred from one place to another.
433 caret Cursor, Glossary, Input, caret, insertion point, text cursor, text entry, text input, text insertion point
A caret (sometimes called a "text cursor") is an indicator displayed on the screen to indicate where text input will be inserted.
434 document environment CodingScripting, Glossary, JavaScript
When the JavaScript global environment is a window or an iframe, it is called a document environment. A global environment is an environment that doesn't have an outer environment.
435 firewall DDoS, Firewall, Glossary, Security, computer network
A firewall is a system that filters network traffic. It can either let it pass or block it, according to some specified rules. For example, it can block incoming connections aimed at a certain port or outgoing connections to a certain IP address.
436 jQuery Glossary, JQuery, JavaScript
jQuery is a JavaScript Library that focuses on simplifying DOM manipulation, AJAX calls, and Event handling. It is used by JavaScript developers frequently.
437 markup Glossary, Intro, Markup, NeedsContent
A markup language is one that is designed for defining and presenting text. HTML (HyperText Markup Language), is an example of a markup language.
438 mime Beginner, Glossary, Infrastructure, MIME
MIME "Multipurpose internet mail extensions" is a standard to describe documents in other forms beside ASCII text, e.g. audio, video and images. Initially used for E-Mail attachments, it has become the de facto standard to define types of documents anywhere.
439 non-normative Glossary, Infrastructure, Specification, Standardization
Software specifications often contains information marked as  non-normative or informative, which means that those are provided there for the purpose of helping the readers to understand the specification better or to show an example or a best practice, and not needed to be followed as a rule. Sections that contain official part of the specification that must be followed are often marked as normative.
440 privileged code privileged
Privileged code - Javascript code of your extension. For example, code in content scripts.
441 undefined CodingScripting, Glossary, NeedsContent
A primitive value automatically assigned to variables that have just been declared or to formal arguments for which there are no actual arguments.