Konrad Kowalski (rootsher)Principal Platform & Reliability Architect011011100100111010110010000110011100101100110011

Browser APIs

wpisy (17)

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

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

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

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

  6. Realtime w przeglądarce: od pollingu do WebTransport6/7

    WebTransport: streams i datagramy dla realtime nad HTTP/3

    HTTP/3 i QUIC dają jednej sesji wiele niezależnych streamów oraz datagramy. Nie każde dane muszą dotrzeć niezawodnie i w kolejności.

  7. Realtime w przeglądarce: od pollingu do WebTransport4/7

    Server-Sent Events: protokół zdarzeń nad HTTP streamingiem

    Standardowy format zdarzeń i reconnect nad strumieniem HTTP. Last-Event-ID daje wznowienie, ale trwałości eventów w systemie już nie załatwia.

  8. Realtime w przeglądarce: od pollingu do WebTransport3/7

    HTTP Streaming: jedna odpowiedź, wiele fragmentów danych

    Odpowiedź może powstawać w czasie. Chunk transportowy nie jest wiadomością, więc framing i backpressure stają się sprawą aplikacji.

  9. Realtime w przeglądarce: od pollingu do WebTransport1/7

    Polling: realtime przez powtarzanie requestu

    Opóźnienie jest funkcją interwału, a koszt istnieje nawet wtedy, gdy nic się nie zmienia. W zamian każdy request jest niezależny i cała infrastruktura działa…

  10. Frontend Rendering: od server-side pages do hybrydowego renderowania12/17

    Edge rendering: renderowanie bliżej użytkownika

    Przesunięcie compute bliżej użytkownika ma sens tylko wtedy, gdy dane idą razem z nim. Inaczej skracamy jeden hop i wydłużamy resztę.