Browser APIs
posts (17)
- 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 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 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…
- 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.
- 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.
- 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.
- 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…
- 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.