HTTP
posts (24)
- The Layers of HTTP in the Browser: From fetch() to QUIC9/9
From fetch() to the First Byte
The whole lifecycle in one place: browser policies, cache, connection, wire format, headers and body. Only with that model does the Network panel answer…
- The Layers of HTTP in the Browser: From fetch() to QUIC8/9
HTTP/3 and QUIC: Same HTTP, Different Transport
QUIC removes transport-level head-of-line blocking and sets up a session more cheaply, but it does not fix the dependencies the frontend creates in its own…
- The Layers of HTTP in the Browser: From fetch() to QUIC7/9
HTTP/2: Multiplexing Changed the Frontend Network Model
The same HTTP semantics, a different wire format. Many parallel requests do not mean many sockets, and stream independence ends at TCP.
- The Layers of HTTP in the Browser: From fetch() to QUIC6/9
HTTP/1.1: Where Waterfalls and Bundling Came From
Bundling, sprite sheets and domain sharding were answers to the cost of many requests. Frontend architecture adapted itself to the limits of the protocol.
- The Layers of HTTP in the Browser: From fetch() to QUIC5/9
Connections: Why One fetch() Does Not Mean One Connection
A request and a connection have different lifecycles. The connection pool belongs to the browser, and the frontend influences it only through the architecture…
- The Layers of HTTP in the Browser: From fetch() to QUIC4/9
The Browser Does Not Give JavaScript Full Control over HTTP
fetch() is not a raw socket. Cookies, the cache, preflight and some headers belong to the browser, so one operation in code does not equal one request on the…
- The Layers of HTTP in the Browser: From fetch() to QUIC3/9
Headers and Body: Metadata vs Representation
A body is bytes, not JSON. Headers say how to read it and steer caching, cookies and CORS, even though the application does not fully control them.
- The Layers of HTTP in the Browser: From fetch() to QUIC2/9
Methods and Status Codes: Semantics, Not Decoration
The method and the status tell the browser and the infrastructure what may be done with a request. That is why retrying a POST is a different decision than…
- The Layers of HTTP in the Browser: From fetch() to QUIC1/9
Request and Response: What Does the Browser Actually Send?
A request is not a URL, and an HTTP response is not always JSON. Headers and body have separate lifecycles, and an HTTP error is not a network failure.
- series · 9 parts
The Layers of HTTP in the Browser: From fetch() to QUIC
Two lines of fetch() cover several layers: the browser API, HTTP semantics, the wire protocol and the transport. This series separates them so the Network…