Konrad Kowalski (rootsher)Principal Platform & Reliability Architect011000101100100100011110001101000001101011111111

HTTP

posts (30)

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

  2. Realtime in the Browser: From Polling to WebTransport7/7

    Polling, Streaming, SSE, WebSocket, or WebTransport?

    The choice follows from the traffic model: freshness, direction, frequency, ordering and reliability. The simplest correct mechanism usually wins.

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

  4. Realtime in the Browser: From Polling to WebTransport5/7

    WebSockets: A Persistent Bidirectional Communication Channel

    After the handshake there are no requests and responses left, only frames. A persistent connection is state, and it reaches the load balancer, the deploy and…

  5. Gateway API Without the Magic4/4

    Migrating from ingress-nginx to Gateway API

    Migrating from ingress-nginx is not mechanical YAML translation. First, separate the application contract from controller-specific behavior.

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

  7. Gateway API Without the Magic3/4

    GatewayClass: A Contract With the Implementation

    GatewayClass is not an environment label. It is where Kubernetes Gateway API meets a specific controller.

  8. Gateway API Without the Magic2/4

    Gateway Does Not Always Mean the Same Thing

    The word gateway mixes a product, a network role, and a Kubernetes API. Without that split, it is easy to compare things from different layers.

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

  10. Gateway API Without the Magic1/4

    From Service to Gateway API: Where the Problem Came From

    Ingress did not fail because it was bad. It failed because its small specification had no language for production HTTP behavior.