Index

Found 528 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, Bad Gateway, Glossary, HTTP Errors, Infrastructure, Navigation
An HTTP error code meaning "Bad Gateway".
4 ALPN ALPN, Draft, Glossary, NeedsContent, TLS
Application-Layer Protocol Negotiation (ALPN) is a TLS extension which indicates what application layer protocol is negotiating the encryped connection without requiring additional round trips.
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, 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 Accessibility tree (AOM) AOM, Accessibility, DOM, Glossary, Reference
The accessibility tree, or accessibility object model (AOM), contains accessibility-related information for most HTML elements.
13 Adobe Flash Adobe, CodingScripting, Flash, Glossary, Infrastructure
Flash is an obsolescent technology developed by Adobe for viewing expressive web applications, multimedia content, and streaming media. Adobe Flash can run from supporting web browsers via a browser plug-in.
14 Ajax AJAX, CodingScripting, Glossary, Infrastructure, l10n:priority
Ajax, which initially stood for Asynchronous JavaScript And XML, is a programming practice of building complex, dynamic webpages using a technology known as XMLHttpRequest.
15 Algorithm CodingScripting, Glossary
An algorithm is a self-contained series of instructions to perform a function.
16 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.
17 Alignment subject Alignment subject, CSS, Glossary, alignment
In CSS Box Alignment the alignment subject is the thing (or things) being aligned by the property.
18 Alpha (alpha channel) Alpha, Alpha Channel, Drawing, Glossary, Graphics, Translucency, Translucent, Transparency, Transparent, WebGL, WebXR, channel, color, pixel
Colors are represented in digital form as a collection of numbers, each representing the strength or intensity level of a given component of the color. Each of these components is called a channel. In a typical image file, the color channels describe how much red, green, and blue are used to make up the final color. To represent a color through which the background can be seen to some extent, a fourth channel is added to the color: the alpha channel. The alpha channel specifies how opaque the color is.
19 Apple Safari Glossary, Navigation, WebMechanics
Safari is a Web browser developed by Apple and bundled with both macOS and iOS. It's based on the open source WebKit engine.
20 Application Context CodingScripting, Glossary
An application context is a top-level browsing context that has a manifest applied to it.
21 Argument CodingScripting, Glossary, JavaScript
An argument is a value (primitive or object) passed as input to a function.
22 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.
23 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.
24 Asynchronous Glossary, Web, WebMechanics, asynchronous
The term asynchronous refers to or multiple related things happening without waiting for the previous one to complete).
25 Attribute CodingScripting, Glossary, HTML
An attribute extends an element, changing its behavior or providing metadata.
26 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).
27 Base64 Advanced, Base64, JavaScript, Typed Arrays, URI, URL, Unicode Problem, atob(), btoa()
Base64 is a group of similar binary-to-text encoding schemes that represent binary data in an ASCII string format by translating it into a radix-64 representation. The term Base64 originates from a specific MIME content transfer encoding.
28 Baseline CSS, Glossary, SVG, alignment, typography
The baseline is a term used in European and West Asian typography meaning an imaginary line upon which the characters of a font rest.
29 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.
30 BigInt BigInt, Glossary, JavaScript, Reference, arbitrary precision format
In JavaScript, BigInt is a numeric data type that can represent integers in the arbitrary precision format. In other programming languages different numeric types can exist, for examples: Integers, Floats, Doubles, or Bignums.
31 Blink Glossary, Infrastructure, Layout, Rendering engine
Blink is an open-source browser layout engine developed by Google as part of Chromium (and therefore part of Chrome as well). Specifically, Blink began as a fork of the WebCore library in WebKit, which handles layout, rendering, and DOM, but now stands on its own as a separate rendering engine.
32 Block Disambiguation, Glossary
The term block can have several meanings depending on the context. It may refer to:
33 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.
34 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.
35 Block cipher mode of operation Block cipher mode of operation, Cryptography, Glossary, 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.
36 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.
37 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.)
38 Bootstrap Bootstrap, CSS, Glossary, Intro, framework
Bootstrap is a free, open source HTML, CSS, and JavaScript framework for quickly building responsive websites.
39 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.
40 Breadcrumb Accessibility, Glossary, Navigation, Search, Site map, breadcrumb
A breadcrumb, or breadcrumb trail, is a navigational aid that is typically placed between a site's header and the main content, displaying either a hierarchy of the current page in relation to the the site's structure, from top level to current page, or a list of the links the user followed to get to the current page, in the order visited.
41 Brotli Brotli, Glossary, Reference, Web Performance, compression
Brotli is a general-purpose lossless compression algorithm.
42 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.
43 Browsing context Glossary
A browsing context is the environment a browser displays a Document. In modern browsers, it usually is a tab, but can be a window or even only parts of a page, like a frame or an iframe.
44 Bézier curve Bézier curve, Glossary, Graphics, Reference
A Bézier curve (pronounced [bezje]) is a mathematically described curve used in computer graphics and animation. In vector images, they are used to model smooth curves that can be scaled indefinitely.
45 CDN Glossary, Infrastructure
A 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.
46 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.
47 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.
48 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.
49 CORS-safelisted request header CORS, Fetch
A CORS-safelisted request header is one of the following HTTP headers:
50 CORS-safelisted response header CORS, Fetch, Glossary, HTTP
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).
51 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.
52 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.
53 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.
54 CSRF Glossary, Security
CSRF (Cross-Site Request Forgery) is an attack that impersonates a trusted user and sends a website unwanted commands.
55 CSS CSS, CodingScripting, Glossary, Web, l10n:priority
CSS (Cascading Style Sheets) is a declarative language that controls how webpages look in the browser.
56 CSS Object Model (CSSOM) CSS, CSSOM, DOM, Glossary, Web Performance
The CSS Object Model (CSSOM) is a map of all CSS selectors and relevant properties for each selector in the form of a tree, with a root node, sibling, descendant, child, and other relationship. The CSSOM is very similar to the Document Object Model (DOM). Both of them are part of the critical rendering path which is a series of steps that must happen to properly render a website.
57 CSS pixel CSS, CSS Pixel, Glossary, height, length, pixel, size, unit, width
The CSS pixel—denoted in CSS with the suffix px—is a unit of length which roughly corresponds to the width or height of a single dot that can be comfortably seen by the human eye without strain, but is otherwise as small as possible. By definition, this is the physical size of a single pixel at a pixel density of 96 DPI, located an arm's length away from the viewer's eyes.
58 CSS preprocessor CSS, Glossary
A CSS preprocessor is a program that lets you generate CSS from the preprocessor's own unique syntax.
59 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.
60 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, these are the following constraints for an HTTP response to be cached:
61 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.
62 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.
63 Callback function Callback, Callback function, CodingScripting, 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.
64 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.
65 Canvas CodingScripting, Glossary, Graphics, HTML, JavaScript
The canvas element is part of HTML5 and allows for dynamic, scriptable rendering of 2D and 3D shapes and bitmap images.
66 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.
67 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.
68 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).
69 Certified Apps, B2G, 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.
70 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.
71 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.
72 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.
73 Character set Glossary, character encoding, character set
A character set is an encoding system to let computers know how to recognize Character, including letters, numbers, punctuation marks, and whitespace.
74 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.
75 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.
76 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.
77 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.
78 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.
79 Client hints Client hints, Glossary, Performance, Reference, Web Performance
Client Hints are a set of HTTP request header fields for proactive content negotiation allowing clients to indicate a list of device and agent specific preferences.
80 Closure CodingScripting, Glossary
The binding which defines the scope of execution. In JavaScript, functions create a closure context.
81 Code splitting Glossary, Reference, Web Performance, code splitting, latency
Code splitting is the splitting of code into various bundles or components which can then be loaded on demand or in parallel.
82 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.
83 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.
84 Compile time CodingScripting, Glossary, JavaScript
The compile time is the time from when the program is first loaded until the program is parsed.
85 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.
86 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.
87 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.
88 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.
89 Continuous Media Glossary, Media
Continuous media is data where there is a timing relationship between source and destination. The most common examples of continuous media are audio and motion video. Continuous media can be real-time (interactive), where there is a "tight" timing relationship between source and sink, or streaming (playback), where the relationship is less strict.
90 Control flow CodingScripting, Glossary, JavaScript
The control flow is the order in which the computer executes statements in a script.
91 Cookie Glossary, WebMechanics
A cookie is a small piece of information left on a visitor's computer by a website, via a web browser.
92 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).
93 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.
94 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.
95 Cross-site scripting Cross Site Scripting, DOM, Glossary, Security, XSS, exploit
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 seventh most common Web app vulnerability in 2017.
96 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.
97 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.
98 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.
99 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.
100 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.
101 DNS DNS, Domain Name System, Glossary, Infrastructure
DNS (Domain Name System) is a hierarchical and decentralized naming system for Internet connected resources. DNS maintains a list of domain names along with the resources, such as IP addresses, that are associated with them.
102 DOM (Document Object Model) 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).
103 DTLS (Datagram Transport Layer Security) DTLS, Intro
Datagram Transport Layer Security (DTLS) is a protocol used to secure datagram-based communications. It's based on the stream-focused Transport Layer Security (TLS), providing a similar level of security. As a datagram protocol, DTLS doesn't guarantee the order of message delivery, or even that messages will be delivered at all. However, DTLS gains the benefits of datagram protocols, too; in particular, the lower overhead and reduced latency.
104 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.
105 Data structure CodingScripting, Data structure, Glossary
Data structure is a particular way of organizing data so that it can be used efficiently.
106 Decryption Cryptography, Glossary, Privacy, Security
In cryptography, decryption is the conversion of ciphertext into cleartext.
107 Delta Delta, Glossary, difference, value
The term delta refers to the difference between two values or states.
108 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.
109 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:
110 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.
111 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.
112 Digest Cryptography, Glossary, Privacy, Security
A 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.
113 Digital certificate Cryptography, Glossary, Security
A digital certificate is a data file that binds a publicly known cryptographic key to an organization.
114 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.
115 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.
116 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.
117 Document directive CSP, Directive, Document, Glossary, 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.
118 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.
119 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.
120 Domain sharding DNS, Glossary, HTTP, Reference, Web Performance, latency
Browsers limit the number of active connections for each domain. To enable concurrent downloads of assets exceeding that limit, domain sharding splits content across multiple subdomains. When multiple domains are used to serve multiple assets, browsers are able to download more resources simultaneously, resulting in a faster page load time and improved user experience.
121 Dominator CodingScripting, Glossary
In graph theory, node A dominates node B if every path from the root node to B passes through A.
122 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.
123 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.
124 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.
125 ECMAScript Glossary, WebMechanics
ECMAScript is a scripting language specification on which JavaScript is based. Ecma International is in charge of standardizing ECMAScript.
126 Effective connection type Glossary, Navigator, Network Information API, NetworkInformation, Performance, Reference, Web Performance, connect, effective connection type, effectiveType
Effective connection type (ECT) refers to the measured network performance, returning a cellular connection type, like 3G, even if the actual connection is tethered broadband or WiFi, based on the time between the browser requesting a page and effective type of the connection.
127 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.
128 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).
129 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.
130 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.
131 Endianness Coding, CodingScripting, Glossary
Endian and endianness (or "byte-order") describe how computers organize the bytes that make up numbers.
132 Engine CodingScripting, Glossary, NeedsContent
The JavaScript engine is an interpreter that parses and executes a JavaScript program.
133 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.
134 Entity header Glossary, WebMechanics
An entity header is an HTTP header that can be used in an HTTP request or response, and describes the content of the body of themessage. Headers like Content-Length, Content-Language, Content-Encoding are entities headers.
135 Event CodingScripting, Glossary
Events are assets generated by DOM elements, which can be manipulated by a Javascript code.
136 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.
137 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:
138 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.
139 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.
140 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.
141 Falsy CodingScripting, Glossary, JavaScript
A falsy (sometimes written falsey) value is a value that is considered false when encountered in a Boolean context.
142 Favicon Glossary, Intro, favicon, user agent
A favicon (favorite icon) is a tiny icon included along with a website, which is displayed in places like the browser's address bar, page tabs and bookmarks menu.
143 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.
144 Fetch metadata request header Fetch Metadata Request Headers, Glossary
A fetch metadata request header is a HTTP request header that provides additional information about the context the request originated from. These header names are prefixed with Sec- and thus they are forbidden header names so headers can not be modified from JavaScript.
145 Firefox OS B2G, 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.
146 First CPU idle Glossary, Lighthouse, Performance, Web Performance
First CPU Idle measures when a page is minimally interactive, or when the window is quiet enough to handle user input. It is a non-standard Google web performance metric. Generally, it occurs when most, but not necessarily all visible UI elements are interactive, and the user interface responds, on average, to most user input within 50ms. It is also known as First interactive.
147 First Meaningful Paint Glossary, Reference, Web Performance
First Meaningful Paint (FMP) is the paint after which the biggest above-the-fold layout change has happened and web fonts have loaded. It is when the answer to "Is it useful?" becomes "yes", upon first meaningful paint completion.
148 First contentful paint Glossary, Performance, Reference, Web Performance
First Contentful Paint (FCP) is when the browser renders the first bit of content from the DOM, providing the first feedback to the user that the page is actually loading. The question "Is it happening?" is "yes" when the first contentful paint completes.
149 First input delay Glossary, Reference, Web Performance
First input delay (FID) measures the time from when a user first interacts with your site (i.e. when they click a link, tap on a button, or use a custom, JavaScript-powered control) to the time when the browser is actually able to respond to that interaction.
150 First interactive Glossary, Lighthouse, Web Performance
First Interactive, also known as first CPU idle, is a non-standard web performance metric that measures when the user's window is quiet enough to handle user input, or what is termed as minimally interactive.
151 First paint Beginner, Glossary, Performance, Web Performance
First Paint, part of the Paint Timing API, is the time between navigation and when the browser renders the first pixels to the screen,
152 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.
153 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.
154 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.
155 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.
156 Flexbox CSS, Glossary, Intro, 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.
157 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).
158 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.
159 Fork Fork, Glossary, Tools, git
A fork is a copy of an existing software project at some point to add someone's own modifications to the project. Basically, if the license of the original software allows, you can copy the code to develop your own version of it, with your own additions,
160 Fragmentainer CSS, CSS Fragmentation Specification, Glossary, fragmentainer
A fragmentainer is defined in the CSS Fragmentation Specification as follows:
161 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 a value. A function in JavaScript is also an object.
162 Fuzz testing Firefox, Fuzzing, Mozilla, QA, Security, Testing
Fuzzing is a technique for testing software using automated tools to provide invalid or unexpected input to a program or function in a program, then checking the results to see if the program crashes or otherwise acts inappropriately. This is an important way to ensure that software is stable, reliable, and secure, and we use fuzzing a lot at Mozilla.
163 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.
164 GIJ Automation, CodingScripting, Gaia, Integration, tests
Gaia integration Testing. Marionette- and JavaScript- based.
165 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.
166 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.
167 Gaia Boot2Gecko, Firefox OS, Gaia, Glossary, Infrastructure, Intro
The user interface and default application suite of the Firefox OS platform.
168 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.
169 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.
170 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.
171 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.
172 Global object CodingScripting, Glossary, NeedsContent
A global object is an object that always exists in the global scope.
173 Global scope CodingScripting, Glossary, NeedsContent
In a programming environment, the global scope is the scope that contains, and is visible in, all other scopes.
174 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.
175 Glyph Glossary, SVG, typography
A glyph is a term used in typography for the visual representation of one or more characters.
176 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).
177 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. Chrome supports its own layout called Blink. Note that the iOS version of Chrome uses that platform's WebView, not Blink.
178 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 falls back to an experience that while not as good still delivers essential content and functionality in older browsers.
179 Grid CSS, CSS Grid, Glossary
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.
180 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.
181 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.
182 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.
183 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.
184 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.
185 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.
186 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.
187 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.
188 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.
189 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.
190 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.
191 HMAC Cryptography, Glossary, Hash, Security
HMAC is a protocol used for cryptographically authenticating messages.
192 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.
193 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 by the server with the resource.
194 HTML CodingScripting, Glossary, HTML, l10n:priority
HTML (HyperText Markup Language) is a descriptive language that specifies webpage structure.
195 HTML5 CodingScripting, Glossary, HTML, HTML5, Markup
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.
196 HTTP Beginner, Glossary, HTTP, Infrastructure, Web Performance, 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.
197 HTTP header Glossary, HTTP Header, 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 CRLF or at the end of the message.
198 HTTP/2 Glossary, HTTP, Infrastructure, Reference, Web Performance, l10n:priority
HTTP/2 is a major revision of the HTTP network protocol
199 HTTP/3 HTTP, Intro, NeedsContent
HTTP/3 is the upcoming major revision of the HTTP network protocol
200 HTTPS Glossary, HTTPS, Infrastructure, Security
HTTPS (HyperText Transfer Protocol Secure) is an encrypted version of the HTTP protocol. It 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, such as when performing banking activities or online shopping.
201 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.
202 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.
203 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.
204 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.
205 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.
206 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.
207 Houdini CSS, CSS API, Glossary, Houdini, Reference
Houdini is a set of low level APIs that give developers the power to extend CSS, providing the ability to hook into the styling and layout process of a browser’s rendering engine. Houdini gives developers access to the CSS Object Model (CSSOM), enabling developers to write code the browser can parse as CSS.
208 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).
209 Hypertext Glossary, Web, WebMechanics
Hypertext is text that contains links to other texts, as opposed to a single linear flow like in a novel.
210 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.
211 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.
212 ICANN Glossary, Infrastructure
ICANN (Internet Corporation for Assigned Names and Numbers) is an international nonprofit that maintains the domain name system and the record of IP addresses.
213 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.
214 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.
215 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.
216 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.
217 IIFE CodingScripting, DesignPattern, Functions, Glossary, JavaScript
An IIFE (Immediately Invoked Function Expression) is a JavaScript function that runs as soon as it is defined.
218 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.
219 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.
220 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.
221 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.
222 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.
223 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.
224 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.
225 ITU Glossary, ITU, Standardization, organization
The International Telecommunication Union (ITU) is the organization authorized by the United Nations to establish standards and rules for telecommunication, including telegraph, radio, telephony and the internet.
226 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.
227 Identifier Beginner, CodingScripting, Glossary, Sharing
An identifier is a sequence of characters in the code that identifies a variable, function, or property.
228 Immutable CodingScripting, Glossary
An immutable object is one whose content cannot be changed.
An object can be immutable for various reasons, for example:
229 Index Glossary, Index, MDN Meta, Navigation
Found 528 pages:
230 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.
231 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.
232 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.
233 Input method editor Glossary
An input method editor (IME) is a program that provides a specialized user interface for text input. Input method editors are used in many situations:
234 Instance Beginner, CodingScripting, Glossary, JavaScript, NeedsExample, OOP
An object created by a constructor is an instance of that constructor.
235 Internationalization Glossary, Internationalization, Reference
Internationalization, often shortened to "i18n", is the adapting of a web site or web application to different languages, regional differences, and technical requirements for different regions and countries. Internationalization is the process of architecting your web application so that it can be quickly and easily adapted to various languages and regions without much engineering effort when new languages and regions are supported. Also so that a user can browse features to translate or localize the application to access all the content without breaking the layout.
236 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).
237 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. For example, inline elements are sized intrinsically: width, height, and vertical margin and padding have no impact, though horizontal margin and padding do.
238 JPEG Beginner, Composing, Glossary, Images, JPEG
JPEG (Joint Photographic Experts Group) is a commonly used method of lossy compression for digital images.
239 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.
240 Jank Beginner, CodingScripting, Glossary, Performance, Web 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.
241 Java CodingScripting, Glossary, Java, Programming Language
Java is a compiled, object-oriented, highly portable programming language.
242 JavaScript CodingScripting, Glossary, JavaScript, l10n:priority
JavaScript (or "JS") is a programming language used most often for dynamic client-side scripts on webpages, but it is also often used on the server-side, using a runtime such as Node.js.
243 Key Cryptography, Glossary, Security
A key is a piece of information used by a cipher for encryption and/or decryption.
244 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.
245 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.).
246 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.
247 Latency Audio, Glossary, Media, Networking, Reference, Video, Web Performance, latency
Latency is the network time it takes for a requested resource to reach its destination. Low latency is good, meaning there is little or no delay. High latency is bad, meaning it takes a long time for the requested resource to reach its destination.
248 Layout viewport CodingScripting, Glossary, Layout, layout viewport, viewport
The layout viewport is the viewport into which the browser draws a web page. Essentially, it represents what is available to be seen, while the visual viewport represents what is currently visible on the user's display device.
249 Lazy load Glossary, Lazy loading, Reference, Web Performance
Lazy loading is a strategy that delays the loading of some assets (e.g., images) until they are needed by the user based on the user's activity and navigation pattern; typically, these assets are only loaded when they are scrolled into view.
250 Ligature CSS, Design, Glossary
A ligature is a joining of two characters into one shape. For example, in French "œ" is a ligature of "oe".
251 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).
252 Local variable CodingScripting, Glossary, NeedsContent
A variable whose name is bound to its value only within a local scope.
253 Locale Composing, Glossary, Locale
Locale is a set of language- or country-based preferences for a user interface.
254 Localization Collaborating, Glossary, Intro, Localization, WebMechanics
Localization (l10n) is the process of adapting a software user interface to a specific culture.
255 Long task Glossary, Long Tasks API, Reference, Web Performance
A long task is a task that takes more than 50ms to complete.
256 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.
257 Lossless compression Beginner, Composing, Glossary, Images, Web Performance, compression, lossless
Lossless compression is a class of data compression algorithms that allows the original data to be perfectly reconstructed from the compressed data. Lossless compression methods are reversible. Examples of lossless compression include GZIP, Brotli, WebP, and PNG,
258 MIME type Glossary, WebMechanics
A 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).
259 MVC Glossary, Infrastructure, Intro, MVC, Model View Controller
MVC (Model-View-Controller) is a pattern in software design commonly used to implement user interfaces, data, and controlling logic. 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).
260 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:
261 Main thread Glossary, Reference, Web Performance
The main thread is where a browser processes user events and paints. By default, the browser uses a single thread to run all the JavaScript in your page, as well as to perform layout, reflows, and garbage collection. This means that long-running JavaScript functions can block the thread, leading to an unresponsive page and a bad user experience.
262 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.
263 Media Disambiguation, Glossary
The term media is an overloaded one when talking about the web; it takes on different meanings depending on the context.
264 Media (Audio-visual presentation) Audio, Glossary, Media, Multimedia, Video
The term media (more accurately, multimedia) refers to audio, video, or combined audio-visual material such as music, recorded speech, movies, TV shows, or any other form of content that is presented over a period of time.
265 Media (CSS) CSS, Glossary, Intro, Media
In the context of CSS (Cascading Style Sheets), the term media refers to the destination to which the document is to be drawn by the rendering engine.
266 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.
267 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 are called directly on an object constructor.
268 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.
269 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.
270 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.
271 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.
272 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.
273 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.
274 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.
275 Modern web apps Composing, Glossary, Modern web apps
See Progressive web apps
276 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
277 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.
278 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.
279 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.
280 NNTP Glossary, Infrastructure
NNTP (Network News Transfer Protocol) is a protocol used to transfer Usenet messages from client to server or between servers.
281 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.
282 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.
283 Native CodingScripting, Glossary
A native application has been compiled to run on the hardware/software environment that comprises the targeted architecture.
284 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.
285 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.
286 Network throttling Glossary, RUM, Reference, Synthetic monitoring, Web Performance
Network throttling is an intentional slowing down of internet speed. In web performance, network throttling, or network condition emulation, it is used to emulate low bandwidth conditions experienced by likely a large segment of a site's target user base.
287 Node Disambiguation, Glossary
The term node can have several meanings depending on the context. It may refer to:
288 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.
289 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.
290 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.
291 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.
292 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.
293 Nullish value Glossary, JavaScript, Null, Primitive, undefined
In JavaScript, a nullish value is the value which is either null or undefined. Nullish values are always falsy.
294 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 exist; for example, Integers, Floats, Doubles, or Bignums.
295 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.
296 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).
297 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.
298 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.
299 Object reference CodingScripting, Glossary
A link to an object. Object references can be used exactly like the linked objects.
300 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.
301 OpenSSL Glossary, Security
OpenSSL is an open-source implementation of SSL and TLS.
302 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.
303 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.
304 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.
305 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.
306 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.
307 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.
308 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.
309 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.
310 PNG Beginner, Composing, Glossary, Infrastructure, PNG
PNG (Portable Network Graphics) is a graphics file format that supports lossless data compression.
311 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.
312 Packet Glossary, Network packet, Packet, Reference, TCP, Web Performance, payload
A packet, or network packet, is a formatted chunk of data sent over a network. The maincomponents of a network packet are the user data and control information. The user data is known as the payload. The control information is the information for delivering the payload. It consists of network addresses for the source and destination, sequencing information, and error detection codes and is generally found in packet headers and footer.
313 Page load time Glossary, Timings, Web Performance, metrics, page load time
Page load time is the time it takes for a page to load, measured from navigation start to the start of the load event
314 Page prediction Glossary, Security, Web Performance, page prediction
Page Prediction is a browser feature or script which, when enabled, tells the browser to download resources the user is likely to visit before the user requests the content. Page prediction improves performance by enabling almost instant loading of predicted content. However, page prediction may also download content a user does not seek.
315 Parameter CodingScripting, Glossary, JavaScript
A parameter is a named variable passed into a function. Parameter variables are used to import arguments into functions.
316 Parent object CodingScripting, Glossary, NeedsContent
The object to which a given property or method belongs.
317 Parse Browser, CSS, CodingScripting, Glossary, HTML, JavaScript, Web Performance
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.
318 Parser CodingScripting, Glossary
A parser is the module of a compiler or interpreter that parses a source code file.
319 Perceived performance Glossary, Perceived Performance, Reference, Web Performance
Perceived performance is a subjective measure of how fast a website seems to a user based on load time and site responsiveness. This measure relies on human perception, not an objective metric like time to interactive.
320 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.
321 Pixel Design, Glossary, Graphics
A pixel is the smallest building block of a graphical display like a computer screen.
322 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."
323 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.
324 Polyfill Browser Support, CodingScripting, Glossary, JavaScript, polyfill
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.
325 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.
326 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.
327 Prefetch Glossary, Prefetch, Reference, Web Performance
Prefetching is when content is downloaded in the background, this is based on the assumption that the content will likely be requested, enabling the content to load instantly if and when the user requests it. The content is downloaded and cached for anticipated future use without the user making an explicit request for it.
328 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 and a server is aware using specific methods and headers.
329 Prerender Glossary, Prefetch, Security, Web Performance, prerender
With prerendering, the content is prefetched and then rendered in the background by the browser as if the content had been rendered into an invisible separate tab. When the user navigates to the prerendered content, the current content is replaced by the prerendered content instantly.
330 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.
331 Primitive CodingScripting, Glossary, JavaScript
In JavaScript, a primitive (primitive value, primitive data type) is data that is not an object and has no methods. There are 6 primitive data types: string, number, bigint, boolean, undefined, and symbol. There also is null, which is seemingly primitive, but indeed is a special case for every Object: and any structured type is derived from null by the Prototype Chain.
332 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.
333 Progressive Enhancement Accessibility, Design, Glossary
Progressive enhancement is a design philosophy that provides a baseline of essential content and functionality to as many users as possible, while delivering the best possible experience only to users of the most modern browsers that can run all the required code.
334 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.
335 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.
336 Property Disambiguation, Glossary
The term property can have several meanings depending on the context. It may refer to:
337 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.
338 Property (JavaScript) CodingScripting, Glossary
A JavaScript property is a characteristic of an object, often describing attributes associated with a data structure.
339 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.
340 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.
341 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.
342 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).
343 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.
344 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.
345 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.
346 Public-key cryptography Cryptography, Glossary, Public-key cryptography, Security
Public-key cryptography — or asymmetric 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.
347 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.
348 QUIC Glossary, HTTP, QUIC, Reference, Web Performance
Quick UDP Internet Connection, or QUIC, is an experimental multiplexed transport protocol implemented on UDP. It was developed by Google as a way to experiment with ways to improve TCP and web application delivery.
349 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.
350 Quaternion Definition, Glossary, Orientation, Quaternion, WebXR, rotation
A quaternion is the quotient of two 3D vectors and is used in 3D graphics and in accelerometer-based sensors to represent orientation or rotational data.
351 RAIL Glossary, RAIL, Timings, Web Performance
RAIL, an acronym for Response, Animation, Idle, and Load, is a performance model originated by the Google Chrome team in 2015, focused on user experience and performance within the browser. The performance mantra of RAIL is "Focus on the user; the end goal isn't to make your site perform fast on any specific device, it's to make users happy." There are 4 stages of interaction: page load, idle, response to input, and scrolling and animation. In acronym order, the main tenets are:
352 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.
353 REST Architecture, Beginner, Glossary, HTTP, Rest, WebMechanics
REST(Representational State Transfer) 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 adhere to those constraints.
354 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.
355 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.
356 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.
357 RTCP (RTP Control Protocol) Glossary, Media, Networking, Protocol, RTCP, control
The RTP Control Protocol (RTCP) is a partner to the RTP protocol. RTCP is used to provide control and statistical information about an RTP media streaming session.
358 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).
359 RTL (Right to Left) Composing, Glossary, Localization
RTL (Right To Left) is a locale property indicating that text is written from right to left.
360 RTP (Real-time Transport Protocol) and SRTP (Secure RTP) Glossary, Network, Protocol, RTP
The 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.
361 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.
362 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.
363 Raster image CUR, Documents, Glossary, ICO, JPEG, PNG, gif, 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.
364 Real User Monitoring (RUM) Glossary, RUM, Reference, Web Performance
Real User Monitoring or RUM measures the performance of a page from real users' machines. Generally, a third party script injects a script on each page to measure and report page load data for every request made. This technique monitors an application’s actual user interactions. In RUM, the third party script collects performance metrics from the real users' browsers. RUM helps identify how an application is being used, including the geographic distribution of users and the impact of that distribution on the end user experience.
365 Recursion CodingScripting, Glossary
The 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 (resumes recursion).
366 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.
367 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.
368 Regular expression CodingScripting, Glossary, Regular Expression
Regular expressions (or regex) are rules that govern which sequences of characters come up in a search.
369 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, EdgeHTML, WebKit.
370 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.
371 Reporting directive CSP, HTTP, Policy, Reporting, Security, Violation
CSP reporting directives are used in a Content-Security-Policy header and control the reporting process of CSP violations.
372 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.
373 Resource Timing Glossary, Timings, Web Performance
Diagnosing performance issues requires performance data at the granularity of the resource. The Resource Timing API is a JavaScript API that is able to capture timing information for each individual resource that is fetched when a page is loaded.
374 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.
375 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.
376 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.
377 Round Trip Time (RTT) Beginner, Glossary, Performance, Resource, Round Trip Time, Web Performance
Round Trip Time (RTT) is the length time it takes for a data packet to be sent to a destination plus the time it takes for an acknowledgment of that packet to be received back at the origin. The RTT between a network and server can be determined by using the ping command.
378 Routers Intro
There are two definitions for routers on the web:
379 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.
380 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.
381 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.
382 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.
383 SEO Glossary, Intro, SEO, Search, WebMechanic
SEO (Search Engine Optimization) is the process of making a website more visible in search results, also termed improving search rankings.
384 SGML CodingScripting, Composing, Glossary, SGML
The Standard Generalized Markup Language (SGML) is an ISO specification for defining declarative markup languages.
385 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.
386 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.
387 SLD Glossary, Infrastructure
An SLD (Second Level Domain) is the domain name that is located right before a TLD.
388 SMPTE (Society of Motion Picture and Television Engineers) Engineers, Glossary, Motion Picture, Movies, SMPTE, Specifications, Television, standards
The Society of Motion Picture and Television Engineers (SMPTE) is the professional association of engineers and scientists that develop and define standards and technologies used to create, broadcast, store, and present entertainment media.
389 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.
390 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.
391 SPA (Single-page application) Glossary, SPA, single-page app
An SPA (Single-page application) is a web app implemention that loads only a single web document, and then updates the body content of that single document via JavaScript APIs such as XMLHttpRequest and Fetch when different content is to be shown.
392 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.
393 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.
394 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.
395 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 address, port, and connectivity status of a networked computer behind a NAT.
396 SVG Beginner, CodingScripting, Glossary, Graphics, SVG, l10n:priority
Scalable Vector Graphics (SVG) is a 2D vector image format based on an XML syntax.
397 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.
398 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, but not all idempotent methods are safe. For example, PUT and DELETE are both idempotent but unsafe.
399 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.
400 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.
401 Screen reader Accessibility, Glossary, Screen reader, Voice Over, Voiceover
Screen readers are software applications that attempt to convey what is seen on a screen display in a non-visual way, usually as text to speech, but also into braille or sound icons. Screen readers are essential to people who are blind, as well as useful to people who are visually impaired, illiterate, or have a learning disability. There are some browser extension screen readers, but most screen readers operate system-wide for all user applications, not just the browser.
402 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.
403 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.
404 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.
405 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.
406 Second-level Domain Glossary, Infrastructure
An SLD (Second Level Domain) is the domain name that is located right before a TLD.
407 Secure Sockets Layer (SSL) Glossary, SSL, Security, TLS, Web Performance
Secure Sockets Layer, or SSL, was the old standard security technology for creating an encrypted network link between a server and client, ensuring all data passed is private and secure. The current version of SSL is version 3.0, released by Netscape in 1999, and has been superseded by the Transport Layer Security (TLS) protocol.
408 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.
409 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).
410 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?".)
411 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).
412 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.
413 Server Timing Glossary, Reference, Server Timing, Web Performance
The Server Timing specification enables the server to communicate performance metrics from the request-response cycle to the user agent, and utilizes a JavaScript interface to allow applications to collect, process, and act on these metrics to optimize application delivery.
414 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.
415 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.
416 Shim CodingScripting, Glossary
A 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.
417 Signature Disambiguation, Glossary
The term signature can have several meanings depending on the context. It may refer to:
418 Signature (functions) CodingScripting, Glossary, Java, JavaScript
A function signature (or type signature, or method signature) defines input and output of functions or methods.
419 Signature (security) Cryptography, Glossary, Privacy, Security
A signature, or digital signature, is a protocol showing that a message is authentic.
420 Simple header CORS, Glossary, HTTP, Infrastructure
Old term for CORS-safelisted request header.
421 Simple response header CORS, Glossary, HTTP
Old term for CORS-safelisted response header.
422 Site Glossary, Security, WebMechanics
The site of a piece of web content is determined by the registrable domain of the host within the origin. This is computed by consulting a Public Suffix List to find the portion of the host which is counted as the public suffix (e.g. com, org or co.uk).
423 Site map Accessibility, Glossary, Search, Site map
A site map or sitemap is a list of pages of a web site.
424 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.
425 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/".
426 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.
427 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.
428 Specification Glossary, OpenPractices, Standardization
A 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.
429 Speculative parsing Advanced, HTML, HTML5, NeedsUpdate, Web Development, Web Performance
Traditionally in browsers the HTML parser ran on the main thread and was blocked after a </script> tag until the script has been retrieved from the network and executed. Some HTML parser, such as Firefox since Firefox 4, support speculative parsing off of the main thread. It parses ahead while scripts are being downloaded and executed. The HTML parser starts speculative loads for scripts, style sheets and images it finds ahead in the stream and runs the HTML tree construction algorithm speculatively. The upside is that when a speculation succeeds, there's no need to reparse the part of the incoming file that was already scanned for scripts, style sheets and images. The downside is that there's more work lost when the speculation fails.
430 Speed index Glossary, Performance, Reference, Web Performance
Speed Index (SI) is a page load performance metric that shows you how quickly the contents of a page are visibly populated. It is the average time at which visible parts of the page are displayed. Expressed in milliseconds, and dependent on the size of the viewport, the lower the score, the better.
431 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.
432 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.
433 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.
434 Static method CodingScripting, Glossary, JavaScript, Method, Static, Static Method
A static method (or static function) is a method defined as a member of an object but is accessible directly from an API object's constructor, rather than from an object instance created via the constructor.
435 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.
436 Strict mode Glossary, JavaScript, Reference
JavaScript's strict mode is a way to opt in to a restricted variant of JavaScript, thereby implicitly opting-out of "sloppy mode". Strict mode isn't just a subset: it intentionally has different semantics from normal code.
437 String Beginner, CodingScripting, Glossary, String
In any computer programming language, a string is a sequence of characters used to represent text.
438 Style origin CSS, Glossary, Style, Style Origin, origin
In CSS, there are three categories of sources for style changes. These categories are called style origins. They are the user agent origin, user origin, and the author origin.
439 Stylesheet Glossary, StyleSheet
A stylesheet is a set of CSS rules used to control the layout and design of a webpage or document. Internal stylesheets are placed inside a <style> element inside the <head> of a web document, and external stylesheets are placed inside a separate .css file, which is applied to a document by referencing the file inside a <link> element in the document's head.
440 Symbol Data Type, ECMAScript 2015, Glossary, JavaScript, Sharing, Symbol
In JavaScript, Symbol is a primitive value.
441 Symmetric-key cryptography Cryptography, Glossary, Security, 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".
442 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).
443 Syntax CodingScripting, Glossary, Syntax
Syntax specifies the required combination and sequence of characters making up correctly structured code. Syntax generally includes grammar and the rules that apply to writing it, such as indentation requirements in Python.
444 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.
445 Synthetic monitoring Glossary, RUM, Reference, Synthetic monitoring, Web Performance
Synthetic monitoring involves monitoring the performance of a page in a 'laboratory' environment, typically with automation tooling in an environment that is as consistent as possible.
446 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.
447 TCP handshake Glossary, Networking, SSL, Security, TCP, TCP handshake, TLS, Web Performance
TCP uses a three-way handshake (aka TCP-handshake, three message handshake, and/or SYN-SYN-ACK) to set up a TCP/IP connection over an IP based network.
448 TCP slow start Glossary, Infrastructure, Networking, TCP, Transmission Control Protocol, Web Performance, data
TCP slow start helps buildup transmission speeds to the network's capabilities. It does this without initially knowing what those capabilities are and without creating congestion. TCP slow start is an algorithm used to detect the available bandwidth for packet transmission, and balances the speed of a network connection. It prevents the appearance of network congestion whose capabilities are initially unknown, and slowly increases the volume of information diffused until the network's maximum capacity is found.
449 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.
450 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.
451 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
452 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. TURN is used by WebRTC to allow any two devices on the Internet to enter a peer-to-peer connection.
453 Tag CodingScripting, Glossary, HTML, Intro
In HTML, a tag is used for creating an element.
454 Telnet Glossary, Infrastructure
Telnet is a command line tool and an underlying TCP/IP protocol for accessing remote computers.
455 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. It is not to be confused with pixel which is the unit of screen space. This is one of the main differences between Texel’s and pixels, pixels are image data. Texel components are made up of subjective data, therefore they can be an image as well as a depth map.
456 Thread Glossary, Thread, asynchronous
Thread in computer science is the execution of running multiple tasks or programs at the same time. Each unit capable of executing code is called a thread.
457 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.
458 Time to first byte Glossary, Performance, Reference, Web Performance
Time to First Byte (TTFB) refers to the time between the browser requesting a page and when it receives the first byte of information from the server. This time includes DNS lookup and establishing the connection using a TCP handshake and SSL handshake if the request is made over https.
459 Time to interactive Glossary, Performance, Reference, Web Performance
Time to Interactive (TTI) is a non-standardized web performance 'progress' metric defined as the point in time when the last Long Task finished and was followed by 5 seconds of network and main thread inactivity.
460 Transmission Control Protocol (TCP) Glossary, Networking, SSL, Security, TCP, TLS, Web Performance
TCP (Transmission Control Protocol) is a Transport Layer host-to-host protocol for connection-oriented communication between two computers on an IP network. TCP uses virtual ports to create a virtual end-to-end connection that can reuse the physical connections between two computers. TCP encapsulates higher level protocol data such as HTTP and, SMTP (email) .
461 Transport Layer Security (TLS) Cryptography, Glossary, Infrastructure, Security, Web Performance
Transport Layer Security (TLS), formerly 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. Both SSL and TLS are client / server protocols that ensure communication privacy by using cryptographic protocols to provide security over a network. When a server and client communicate using TLS, it ensures that no third party can eavesdrop or tamper with any message.
462 Tree shaking JavaScript, Modules, Statement, Web Performance, export, import, tree shaking
Tree shaking is a term commonly used within a JavaScript context to describe the removal of dead code.
463 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.
464 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, -0, 0n, "", null, undefined, and NaN).
465 Type CodingScripting, Glossary, JavaScript
Type is a characteristic of a value affecting what kind of data it can store, and the structure that the data will adhere to. For example, a Boolean Data Type can hold only a true or false value at any given time, whereas a String has the ability to hold a string or a sequence of characters, a Number can hold numerical values of any kind, and so on.
466 Type coercion Coercion, JavaScript, Type coercion
Type coercion is the automatic or implicit conversion of values from one data type to another (such as strings to numbers). Type conversion is similar to type coercion because they both convert values from one data type to another with one key difference — type coercion is implicit whereas type conversion can be either implicit or explicit.
467 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.
468 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.
469 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.
470 URI Glossary, HTTP, Search, URI, URL
A URI (Uniform Resource Identifier) is a string that refers to a resource.
471 URL Glossary, Infrastructure, l10n:priority
Uniform Resource Locator (URL) is a text string that specifies where a resource (such as a web page, image, or video) can be found on the Internet.
472 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
473 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.
474 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.
475 Unicode Infrastructure
Unicode is a standard character set that numbers and defines characters from the world's different languages, writing systems, and symbols.
476 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.
477 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.
478 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 HTML, CSS, and XML.
479 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.
480 Variable CodingScripting, Glossary, JavaScript
A variable is a named reference to a value. That way an unpredictable value can be accessed through a predetermined name.
481 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.
482 Viewport CodingScripting, Glossary, Layout, viewport
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.
483 Visual Viewport Glossary, 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.
484 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.
485 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.
486 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.
487 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.
488 WHATWG Community, DOM, Glossary, HTML, HTML5, WHATWG, Web, standards
The WHATWG (Web Hypertext Application Technology Working Group) is a community that maintains and develops web standards, including DOM, Fetch, and HTML. Employees of Apple, Mozilla, and Opera established WHATWG in 2004.
489 Web performance Glossary, Perceived Performance, Reference, Web Performance
Web performance is the objective time from when a request for content is made until the requested content is displayed in the user's browser, objective render times, and the subjective user experience of load time and runtime.
490 Web server web server, web-server
A web server is a piece of software that often runs on a hardware server offering service to a user, usually referred to as the client. A server, on the other hand, is a piece of hardware that lives in a room full of computers, commonly known as a data center.
491 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).
492 WebAssembly Glossary, Infrastructure
WebAssembly (abbr. Wasm) is an open binary programming format that can be run in modern web browsers in order to gain performance and/or provide new features for web pages.
493 WebDAV Glossary, Infrastructure
WebDAV (Web Distributed Authoring and Versioning) is an HTTP Extension that lets web developers update their content remotely from a client.
494 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 .
495 WebGL Advanced, CodingScripting, Glossary, Web Graphics, WebGL
WebGL (Web Graphics Library) is a JavaScript API that draws interactive 2D and 3D graphics.
496 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.
497 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).
498 WebM Composing, Glossary, Infrastructure, WebM
WebM is royalty-free and is an open web video format natively supported in Mozilla Firefox.
499 WebP Beginner, Composing, Glossary, Infrastructure, WebP
WebP is a lossless and lossy compression image format developed by Google.
500 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.
501 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.
502 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.
503 Whitespace Glossary, Lexical Grammar, whitespace
Whitespace is a set of characters which is used to show horizontal or vertical spaces between other characters. They are often used to separate tokens in HTML, CSS, JavaScript, and other computer languages.
504 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.
505 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.
506 XForms CodingScripting, Glossary, Obsolete, XForms
XForms is a convention for building Web forms and processing form data in the XML format.
507 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.
508 XHTML CodingScripting, Glossary, XHTML
XHTML is a term that was historically used to describe HTML documents written to conform with XML syntax rules.
509 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.
510 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.
511 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.
512 XPath CodingScripting, Glossary, XML, XPath
XPath is a query language that can access sections and content in an XML document.
513 XQuery CodingScripting, Glossary, XML, XQuery
XQuery is a computer language for updating, retrieving, and calculating data in XML databases.
514 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.
515 beacon Beacon, Glossary, Reference, Web Performance
A web beacon is a small object, such as a 1 pixel gif, embedded in markup, used to communicate information back to the web server or to 3rd party servers. Beacons are generally included to provide information about the user for statistical purposes. Beacons are often included within third party scripts for collecting user data, performance metrics and error reporting.
516 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.
517 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.
518 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.
519 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.
520 frame rate (FPS) Animation, Glossary, Web Performance, requestAnimationFrame
A frame rate is the the speed at which the browser is able to recalculate, layout and paint content to the display. The frames per second, or fps, is how many frames can be repainted in one second. The goal frame rate for in web site computer graphics is 60fps.
521 jQuery Glossary, JQuery, JavaScript
jQuery is a JavaScript Library that focuses on simplifying DOM manipulation, AJAX calls, and Event handling.
522 lossy compression Beginner, Composing, Glossary, Images, JPEG, Lossy, Web Performance, compression
Lossy compression, or irreversible compression, is a data-compression method that uses inexact approximations and partial-data discarding to represent content. In simpler terms: lossy compression causes data from the initial file to be lost, possibly causing degradation in quality. The process of such compression is irreversible; once lossy compression of the content has been performed, the content cannot be restored to its original state. Therefore, content that has undergone lossy compression should generally not be further edited.
523 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.
524 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.
525 minification Glossary, Performance, Reference, Web Performance
Minification is the process of removing unnecessary or redundant data without affecting how a resource is processed by the browser.
526 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.
527 privileged code privileged
Privileged code - Javascript code of your extension. For example, code in content scripts.
528 undefined CodingScripting, Glossary, JavaScript, NeedsContent
undefined is a primitive value automatically assigned to variables that have just been declared, or to formal arguments for which there are no actual arguments.