Для нас, разработчиков, HTTP — уютный островок в океане сетевых протоколов. Мы знаем его методы, заголовки, может, даже вспомним, на каком уровне модели OSI он живёт. Но за пределами этого острова — бурные воды TCP и UDP, Linux-реальность с обрывами соединений, потерянными пакетами и bandwidth limits. Мы предпочитаем не смотреть в ту сторону, пока внезапно не сталкиваемся с часами скачивания гигабайтов данных или падениями системы при сетевых сбоях.
А что, если наш «остров» HTTP мы знаем лишь поверхностно? Чем на самом деле HTTP/1.1 отличается от HTTP/2 и уж тем более HTTP/3 при передаче больших файлов? Как быть, если файл меняется во время загрузки, а сеть рвётся каждые пять минут?
Вы узнаете, как проектировать системы, которые не боятся сетевых бурь, — и почему stateless-архитектура часто упирается в физику передачи данных.
Доклад для тех, кто готов покинуть зону комфорта и увидеть, что происходит под водой, за фасадом привычных абстракций.