Konrad Kowalski (rootsher)Principal Platform & Reliability Architect001000110011101101110111010010011110100100100110

HTTP

posts (24)

  1. 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…

  2. 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…

  3. 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.

  4. 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.

  5. 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…

  6. 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…

  7. 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.

  8. 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…

  9. 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.

  10. 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…