Konrad Kowalski (rootsher)Principal Platform & Reliability Architect110011111001001101000111111001010101001001001100

HTTP

wpisy (24)

  1. Warstwy HTTP w przeglądarce: od fetch() do QUIC9/9

    Od fetch() do pierwszego bajtu

    Cały lifecycle w jednym miejscu: polityki przeglądarki, cache, connection, wire format, headers i body. Dopiero z tym modelem Network panel odpowiada na…

  2. Warstwy HTTP w przeglądarce: od fetch() do QUIC8/9

    HTTP/3 i QUIC: ten sam HTTP, inny transport

    QUIC usuwa transportowy head-of-line blocking i taniej zestawia sesję, ale nie naprawia zależności, które frontend tworzy własnym kodem.

  3. Warstwy HTTP w przeglądarce: od fetch() do QUIC7/9

    HTTP/2: multiplexing zmienił frontendowy network model

    Ta sama semantyka HTTP, inny wire format. Wiele równoległych requestów nie znaczy wielu socketów, a niezależność streamów kończy się na TCP.

  4. Warstwy HTTP w przeglądarce: od fetch() do QUIC6/9

    HTTP/1.1: skąd wzięły się waterfall i bundling

    Bundling, sprite'y i domain sharding były odpowiedzią na koszt wielu requestów. Architektura frontendu dopasowała się do ograniczeń protokołu.

  5. Warstwy HTTP w przeglądarce: od fetch() do QUIC5/9

    Connections: dlaczego jeden fetch() nie oznacza jednego połączenia

    Request i połączenie mają różny lifecycle. Pulą połączeń zarządza przeglądarka, a frontend wpływa na nią tylko przez architekturę zasobów i originów.

  6. Warstwy HTTP w przeglądarce: od fetch() do QUIC4/9

    Browser nie daje JavaScriptowi pełnej kontroli nad HTTP

    fetch() nie jest gołym socketem. Cookies, cache, preflight i część nagłówków należą do przeglądarki, więc jedna operacja w kodzie nie równa się jednemu…

  7. Warstwy HTTP w przeglądarce: od fetch() do QUIC3/9

    Headers i Body: metadane kontra reprezentacja

    Body to bajty, a nie JSON. Headers mówią, jak je czytać, i sterują cache, cookies oraz CORS, choć aplikacja nie ma nad nimi pełnej kontroli.

  8. Warstwy HTTP w przeglądarce: od fetch() do QUIC2/9

    Methods i status codes: semantyka, nie dekoracja

    Metoda i status mówią browserowi oraz infrastrukturze, co wolno zrobić z requestem. Dlatego retry POST-a jest inną decyzją niż retry GET-a.

  9. Warstwy HTTP w przeglądarce: od fetch() do QUIC1/9

    Request i Response: co faktycznie wysyła browser?

    Request to nie URL, a odpowiedź HTTP to nie zawsze JSON. Headers i body mają osobny lifecycle, a błąd HTTP nie jest awarią sieci.

  10. seria · 9 części

    Warstwy HTTP w przeglądarce: od fetch() do QUIC

    Dwie linie z fetch() zakrywają kilka warstw: browser API, semantykę HTTP, wire protocol i transport. Seria rozdziela je tak, żeby Network panel dał się czytać.