Konrad Kowalski (rootsher)Principal Platform & Reliability Architect110111101001111011110100000110011101100111111101

Browser APIs

posts (17)

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

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

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

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

  6. Realtime in the Browser: From Polling to WebTransport6/7

    WebTransport: Streams and Datagrams for Realtime over HTTP/3

    HTTP/3 and QUIC give a single session many independent streams plus datagrams. Not all data has to arrive reliably and in order.

  7. Realtime in the Browser: From Polling to WebTransport4/7

    Server-Sent Events: An Event Protocol over HTTP Streaming

    A standard event format and reconnection on top of an HTTP stream. Last-Event-ID gives you resume, but it does not solve event durability in the system.

  8. Realtime in the Browser: From Polling to WebTransport3/7

    HTTP Streaming: One Response, Many Chunks of Data

    A response can be produced over time. A transport chunk is not a message, so framing and backpressure become the application's business.

  9. Realtime in the Browser: From Polling to WebTransport1/7

    Polling: Building Realtime with Repeated Requests

    The delay is a function of the interval, and the cost is there even when nothing changes. In exchange every request is independent and the whole infrastructure…

  10. Frontend Rendering: from server-side pages to hybrid rendering12/17

    Edge rendering: compute moved closer to the user

    Moving compute closer to the user only pays off when the data travels with it. Otherwise we shorten one hop and lengthen the rest.