Glossary

Every term in the reading room, stated precisely — the exact wording you should be able to say out loud when someone asks you to explain it. The plain-language version and the analogy live in the day that introduced it.

  1. 200 OK

    The standard response for a successful HTTP request; the meaning depends on the method: for GET it is the resource, for POST the result of the action.

    Introduced in Day 6

  2. 201 Created

    The request succeeded and a new resource was created, usually with a Location header pointing to the new resource.

    Introduced in Day 6

  3. 204 No Content

    The request succeeded, but there is no body to return.

    Introduced in Day 6

  4. 301 Moved Permanently

    The target resource has been assigned a new permanent URI; clients should update their references.

    Introduced in Day 6

  5. 302 Found

    The target resource resides temporarily under a different URI.

    Introduced in Day 6

  6. 304 Not Modified

    The resource has not been modified since the version the client already has, so the client should use its cached copy.

    Introduced in Day 6

  7. 307 Temporary Redirect

    Like 302, but guarantees the request method will not change on the redirected request.

    Introduced in Day 6

  8. 308 Permanent Redirect

    Like 301, but guarantees the request method will not change on the redirected request.

    Introduced in Day 6

  9. 400 Bad Request

    The server cannot process the request due to a client error, such as malformed syntax.

    Introduced in Day 6

  10. 401 Unauthorized

    The client has not provided valid authentication credentials; the request lacks proven identity.

    Introduced in Day 6

  11. 403 Forbidden

    The server understood the request but refuses to authorize it; identity may be proven but permission is denied.

    Introduced in Day 6

  12. 404 Not Found

    The server cannot find a current representation for the target resource, or is not willing to disclose that one exists.

    Introduced in Day 6

  13. 405 Method Not Allowed

    The method specified in the request-line is not allowed for the target resource.

    Introduced in Day 6

  14. 409 Conflict

    The request conflicts with the current state of the target resource.

    Introduced in Day 6

  15. 422 Unprocessable Entity

    The request is well-formed but contains semantically invalid data.

    Introduced in Day 6

  16. 429 Too Many Requests

    The client has sent too many requests in a given amount of time, typically accompanied by a Retry-After header.

    Introduced in Day 6

  17. 500 Internal Server Error

    The server encountered an unexpected condition that prevented it from fulfilling the request.

    Introduced in Day 6

  18. 502 Bad Gateway

    The server, acting as a gateway or proxy, received an invalid response from an upstream server.

    Introduced in Day 6

  19. 503 Service Unavailable

    The server is currently unable to handle the request due to overload or maintenance.

    Introduced in Day 6

  20. 504 Gateway Timeout

    The server, acting as a gateway or proxy, did not receive a timely response from an upstream server.

    Introduced in Day 6

  21. A record

    A DNS record that maps a domain name to an IPv4 address.

    Introduced in Day 7

  22. AAAA record

    A DNS record that maps a domain name to an IPv6 address.

    Introduced in Day 7

  23. alpha release

    Also called: alpha, alpha version

    A version released to a limited, usually internal or invited group of testers, in which major features may be incomplete or unstable.

  24. ARPANET

    The packet-switching research network funded by the US Department of Defense's Advanced Research Projects Agency and switched on in 1969 — the direct ancestor of the internet.

    Introduced in Day 1

  25. ASCII

    A character encoding that maps 128 characters — the basic Latin alphabet, digits, and common punctuation — to single 7-bit bytes.

  26. Authoritative nameserver

    A DNS server that holds the actual records for a domain and provides definitive answers about it. The final authority in a DNS lookup.

    Introduced in Day 7

  27. availability zone

    An isolated data centre within a region, engineered so that failure in one zone does not affect others.

    Introduced in Day 8

  28. beta release

    Also called: beta, beta version

    A version released to real users outside the team, typically with most or all features implemented, but with known issues still being fixed and feedback being actively sought.

  29. Body

    The payload of an HTTP message: the bytes actually being transferred, whose type and size are declared by the Content-Type and Content-Length headers. Optional in a request, usual in a response.

    Introduced in Day 3

  30. bug

    An error in the software that causes it to behave differently from its intended or specified behaviour.

  31. cache

    Also called: caching, browser cache, cdn

    A stored copy of a response or resource, held close to the requester so the request can be answered without repeating the full journey.

    Introduced in Day 4

  32. Certificate

    A digitally signed document, issued by a certificate authority, that binds a public key to a domain name. A client validates it during the TLS handshake to confirm it is talking to the server it intended to reach.

    Introduced in Day 3

  33. Character encoding

    Also called: charset, encoding, utf 8, ascii, text encoding

    A defined mapping between numbers and characters, specifying which byte sequence represents which character in a text.

    Introduced in Day 3

  34. Charset

    Also called: character set

    The declared character encoding of a document's bytes, named in the charset parameter of a Content-Type header.

    Introduced in Day 3

  35. Client

    Any program or device that initiates a request and receives the response.

    Introduced in Day 2

  36. Client-server model

    An arrangement in which one party, the client, always initiates requests and the other, the server, always waits for and answers them. The relationship is asymmetric: only one side starts the conversation.

    Introduced in Day 2

  37. CNAME record

    A DNS record that aliases one domain name to another.

    Introduced in Day 7

  38. Content-Type

    An HTTP header that declares the media type of a message body, such as `application/json` or `text/html`.

  39. crash

    An abnormal termination of a program or process, typically caused by an unhandled error, in which the application stops running.

  40. CRUD

    Create, Read, Update, Delete — the four fundamental operations on persistent data, and the vocabulary every API ends up mapping onto HTTP methods.

    Introduced in Day 5

  41. dedicated server

    A physical server leased exclusively to a single customer.

    Introduced in Day 8

  42. DELETE

    An HTTP method that deletes the target resource. Not safe, but idempotent.

    Introduced in Day 5

  43. DNS

    Also called: domain lookup, nameserver lookup, name resolution, domain name system

    Domain Name System: the distributed, hierarchical naming system that resolves human-readable domain names into IP addresses, with caches at every level to keep repeat lookups fast.

    Introduced in Day 4, Day 7

  44. DNS propagation

    The informal term for the period during which cached DNS answers expire and updated answers gradually reach all resolvers.

    Introduced in Day 7

  45. DNS record

    A single entry in a DNS server that maps a name to a value. Each record has a type that defines what kind of data it holds.

    Introduced in Day 7

  46. domain name

    Also called: domain, website address, url

    A human-readable identifier for a location on the internet, structured as a hierarchy of labels separated by dots, registered through an accredited registrar.

    Introduced in Day 7, Day 8

  47. fragment

    The portion of a URL following a hash symbol, which is interpreted by the browser and never sent to the server.

  48. general availability

    Also called: ga, production release

    A version released for unrestricted use, supported in production, with no longer a preview or test audience.

  49. GET

    An HTTP method that requests a representation of the specified resource. Safe and idempotent.

    Introduced in Day 5

  50. hosting

    Also called: web hosting, host, server

    The service of providing server infrastructure — compute, storage, and network — on which websites and applications run.

    Introduced in Day 8

  51. HOSTS.TXT

    The original pre-DNS hostname file: a single central text file, maintained by the Stanford Research Institute, that mapped every ARPANET hostname to its address. Its failure to scale is why DNS exists.

    Introduced in Day 7

  52. HTTP

    HyperText Transfer Protocol: the application-layer protocol that defines how clients and servers exchange messages on the web, including the shape of a request, the shape of a response, and the meaning of the methods and status codes inside them.

    Introduced in Day 3

  53. HTTP method

    Also called: http verb, request method, verb

    A token in the request line of an HTTP request that indicates the desired action to be performed on the target resource. The standard methods are GET, HEAD, POST, PUT, PATCH, DELETE, OPTIONS, TRACE, and CONNECT.

    Introduced in Day 3, Day 5

  54. HTTP status code

    Also called: status code, http code, error code, response code

    A three-digit integer in the status line of an HTTP response that indicates the outcome of the request. Defined by the HTTP specification and maintained in a public registry by IANA.

    Introduced in Day 3, Day 6

  55. HTTPS

    HTTP transmitted over a TLS-encrypted connection. The message format is unchanged; the entire conversation is confidential and tamper-resistant.

    Introduced in Day 3

  56. hypervisor

    Software that creates and manages virtual machines on a physical host.

    Introduced in Day 8

  57. IaaS — Infrastructure as a Service

    Also called: infrastructure as a service, iaas

    A hosting model where the provider offers raw virtualised compute, storage, and networking, which the developer configures and manages.

    Introduced in Day 8

  58. ICANN

    Also called: internet corporation for assigned names and numbers

    The Internet Corporation for Assigned Names and Numbers, the non-profit organisation responsible for coordinating the domain name system and internet numbering policy globally.

    Introduced in Day 8

  59. Idempotent

    Also called: idempotency, safe retry

    A property of an HTTP method where multiple identical requests have the same intended effect on the server as a single request, so a client can safely retry after a timeout. From the Latin idem (same) + potens (power).

    Introduced in Day 5

  60. Internet

    The global system of interconnected computer networks, together with the physical links between them, that carries data between devices.

    Introduced in Day 1

  61. IP address

    A numerical address assigned to a device on a network so that packets can be routed to it.

    Introduced in Day 1

  62. IPv4

    The first widely deployed version of the Internet Protocol: 32-bit addresses written as four decimal numbers between 0 and 255, giving about 4.3 billion possible addresses — a pool that ran out in 2011.

    Introduced in Day 1

  63. IPv6

    The current version of the Internet Protocol: 128-bit addresses written in hexadecimal, providing an address supply large enough that exhaustion is no longer a practical concern.

    Introduced in Day 1

  64. latency

    Also called: lag, delay, round trip time

    The delay between sending a request and receiving a response, usually dominated by round-trip time; distance, handshakes, and server processing all add to it.

    Introduced in Day 4

  65. Latin-1

    A character encoding that maps the first 256 Unicode code points to single bytes, an extension of ASCII covering Western European characters.

  66. Localhost

    The hostname that always refers to the machine the program is running on, reached over an internal loopback interface that never touches a network.

    Introduced in Day 2

  67. Mojibake

    Also called: garbled, garbled text, broken characters, wrong charset, weird characters

    Text corruption caused by decoding a byte sequence with the wrong character encoding, so each byte is mapped to a character other than the one intended.

    Introduced in Day 3

  68. MVP

    Also called: minimum viable product

    Minimum Viable Product: the smallest version of a product that delivers the core value to real users and generates real feedback, while deliberately leaving out features that aren't yet proven necessary.

  69. MX record

    A DNS record that specifies the mail servers responsible for accepting email on behalf of a domain.

    Introduced in Day 7

  70. Nameserver

    A server that stores DNS records and answers queries about them.

    Introduced in Day 7

  71. NAT

    Network Address Translation: the technique of rewriting the source or destination address in packets as they pass through, letting many private devices share a single public IP address.

    Introduced in Day 1

  72. NS record

    A DNS record that declares which nameservers are authoritative for a domain.

    Introduced in Day 7

  73. OPTIONS

    An HTTP method that requests information about the communication options available for the target resource. Safe and idempotent.

    Introduced in Day 5

  74. PaaS — Platform as a Service

    Also called: platform as a service, paas

    A hosting model where the provider manages the runtime, operating system, and infrastructure, so the developer only provides application code.

    Introduced in Day 8

  75. Packet

    A small, independently addressed unit of data — typically a few hundred to about 1,500 bytes — carrying a slice of a message plus a header describing where it came from, where it is going, and how to reassemble it.

    Introduced in Day 1

  76. PATCH

    An HTTP method that applies partial modifications to a resource. Not safe, and not guaranteed to be idempotent. Standardised in RFC 5789.

    Introduced in Day 5

  77. path

    The portion of a URL that identifies a specific resource on the server, following the domain name.

  78. Peer-to-peer

    A network model in which every participant acts as both client and server, exchanging resources directly with peers and depending on no central server.

    Introduced in Day 2

  79. POC

    Also called: proof of concept

    Proof of Concept: a limited, disposable implementation built to verify whether a specific technical approach is feasible, typically without regard to production quality or user experience.

  80. POST

    An HTTP method that submits data to the specified resource, often causing a change in state or the creation of a new resource. Neither safe nor idempotent.

    Introduced in Day 5

  81. prototype

    An early, interactive representation of a product or feature, built to explore design, behaviour, or feasibility with users or stakeholders before full implementation.

  82. PUT

    An HTTP method that replaces all current representations of the target resource with the request payload. Not safe, but idempotent.

    Introduced in Day 5

  83. query string

    The portion of a URL following a question mark, containing parameters passed to the server as key-value pairs.

  84. reason phrase

    The optional human-readable text in an HTTP status line that accompanies the status code, intended for people rather than programs.

  85. Recursive resolver

    A DNS server that receives a client's query and performs the full sequence of lookups needed to return an answer, either from its cache or by querying other servers on the client's behalf.

    Introduced in Day 7

  86. region

    A geographic area in which a cloud provider operates a cluster of data centres.

    Introduced in Day 8

  87. registrar

    Also called: domain registrar, domain seller

    A company accredited by ICANN to register domain names on behalf of end users and manage their lifecycle.

    Introduced in Day 8

  88. registry

    The organisation that maintains the authoritative database of all domains registered under a given top-level domain.

    Introduced in Day 8

  89. release candidate

    Also called: rc

    A final version of a release that has passed the planned testing and is intended to be the exact build that ships, pending only final confirmation.

  90. Request

    A message sent by a client asking a server to perform an action or return a resource, containing a method, a target, headers, and optionally a body.

    Introduced in Day 2, Day 3

  91. request-response cycle

    Also called: request response, http cycle

    The four-step pattern of every HTTP exchange: the client sends a request, the server processes it, the server returns a response, and the client receives it.

    Introduced in Day 4

  92. Response

    A message sent by a server in reply to a request, containing a status code, headers, and usually a body.

    Introduced in Day 2, Day 3

  93. REST

    Representational State Transfer — an architectural style for APIs, described by Roy Fielding in 2000, in which HTTP methods carry the action and URLs name resources.

    Introduced in Day 5

  94. Root nameserver

    The top-level DNS servers that direct resolvers to the appropriate TLD nameservers.

    Introduced in Day 7

  95. round trip

    Also called: rtt

    One complete journey of a message to the server and a reply back. Handshakes are priced in round trips.

    Introduced in Day 4

  96. Router

    A device that forwards packets between networks, choosing the path each one takes toward its destination.

    Introduced in Day 1

  97. SaaS — Software as a Service

    Also called: software as a service, saas

    A software distribution model where applications are hosted by a provider and accessed by users over the internet.

    Introduced in Day 8

  98. Safe method

    Also called: read only method

    An HTTP method whose defined semantics are read-only: the client does not request, and does not expect, any change to the state of the server. The safe methods are GET, HEAD, OPTIONS, and TRACE.

    Introduced in Day 5

  99. Server

    Any program or device that listens for requests and responds to them.

    Introduced in Day 2

  100. serverless

    Also called: faas, functions as a service, lambda

    A cloud execution model in which the provider dynamically allocates compute resources on demand, and the customer is billed only for actual usage.

    Introduced in Day 8

  101. shared hosting

    A hosting model in which multiple websites share the same physical server and its resources.

    Introduced in Day 8

  102. Shell

    The program whose whole job is listening to your keyboard in a terminal. It reads each line, decides what you meant, and runs it — a translator between you and your computer, not magic.

  103. SSL

    Secure Sockets Layer: the encryption protocol Netscape developed in the 1990s and the direct ancestor of TLS. Deprecated because of vulnerabilities, but its name survives in everyday speech.

    Introduced in Day 3

  104. static hosting

    A hosting model that serves pre-built HTML, CSS, and JavaScript files directly, without a backend runtime.

    Introduced in Day 8

  105. status line

    The first line of an HTTP response, containing the protocol version, the status code, and an optional human-readable reason phrase.

  106. TCP

    Transmission Control Protocol: a transport protocol that provides reliable, ordered delivery of a stream of bytes over a connection, by acknowledging received packets, re-sending lost ones, and putting out-of-order arrivals back in sequence.

    Introduced in Day 1

  107. TCP handshake

    Also called: three way handshake, tcp connection

    The three-message exchange — SYN, SYN-ACK, ACK — that establishes a TCP connection before any application data is sent.

    Introduced in Day 4

  108. Terminal

    The window where you type commands. Once a physical device, now an app that pretends to be one — the shell lives inside it.

  109. the cloud

    A colloquial term for computing resources provided over the internet by a third party, rather than owned and operated on-premises.

    Introduced in Day 8

  110. Thick client

    A client that performs most of the application's work itself, receiving data from the server and assembling the interface on its own.

    Introduced in Day 2

  111. Thin client

    A client that performs little computation itself, relying on the server to do the work and return a largely finished result.

    Introduced in Day 2

  112. three-way handshake

    Another name for the TCP handshake: three messages, one round trip, one open connection.

    Introduced in Day 4

  113. TLD — Top-Level Domain

    The rightmost label in a domain name, such as `.com`, `.org`, or `.ng`. Managed by an organisation designated by ICANN.

    Introduced in Day 8

  114. TLD nameserver

    DNS servers responsible for a top-level domain such as .com, .org, or .ng.

    Introduced in Day 7

  115. TLS

    Transport Layer Security: the cryptographic protocol that provides confidentiality, integrity, and server authentication for a connection. The successor to SSL, standardised in 1999 as TLS 1.0, now at TLS 1.3.

    Introduced in Day 3

  116. TLS handshake

    Also called: ssl handshake, https handshake

    The negotiation that runs after the TCP connection is open, in which the server proves its identity with a certificate and both sides derive shared encryption keys.

    Introduced in Day 4

  117. TTFB

    Also called: time to first byte, first byte

    Time To First Byte: the elapsed time between sending a request and receiving the first byte of the response — the boundary between the connection phase and the server's processing phase.

    Introduced in Day 4

  118. TTL

    Time To Live: a value in a DNS record that specifies how many seconds the record may be cached by resolvers before they must re-query for a fresh copy.

    Introduced in Day 7

  119. TXT record

    A DNS record that holds arbitrary text, commonly used for domain verification and email security policies.

    Introduced in Day 7

  120. UDP

    User Datagram Protocol: a transport protocol that sends datagrams with no handshake, no acknowledgement, and no re-sending, trading reliability for speed.

    Introduced in Day 1

  121. URL

    Uniform Resource Locator: a string that identifies a resource on the web and names the scheme by which to retrieve it, composed of a protocol, a domain, a path, an optional query string, and an optional fragment.

    Introduced in Day 3, Day 4

  122. UTF-8

    Also called: utf8, unicode, utf

    A variable-length character encoding that can represent every character in Unicode. Each character occupies one to four bytes: ASCII characters take one byte, most other scripts take two or three, and emoji take four.

    Introduced in Day 3

  123. virtualisation

    The process of creating a virtual version of a computing resource that behaves like the real thing while sharing underlying physical hardware.

    Introduced in Day 8

  124. VPS — Virtual Private Server

    Also called: virtual private server, vps hosting

    A virtualised server instance that provides dedicated compute resources on shared physical hardware, typically with full root access.

    Introduced in Day 8

  125. Web

    Short for World Wide Web: a system of interlinked hypertext documents and other resources, addressed by URLs and transferred over HTTP, that runs as a service on top of the internet.

    Introduced in Day 1

  126. WHOIS

    A query protocol and public directory that returns registration information for a domain name.

    Introduced in Day 8

---