Новые рельсы теперь в базе
Я подключил к своему приложению HTTP/3. Но не на уровне кода или стека, а на уровне Caddy. И оказалось, что это вобще проще, чем я думал.
Всё оказалось проще, чем кажется. Я не писал сложный код, потому что наш веб-сервер Caddy умеет включать HTTP/3 автоматически «из коробки». Просто врубил и всё.
Вот 3 шага, как я это сделал.
-
Открыл UDP-порт на сервере. Обычный интернет работает по протоколу TCP (порт 443). А новый HTTP/3 работает на технологии QUIC, которой нужен UDP-порт 443. Я зашел на сервер через SSH и выполнил команду
sudo ufw allow 443/udp. Без этого шага Caddy пытался бы отдавать HTTP/3, но файрвол его блокировал. -
Проверил заголовки. Caddy автоматически добавил в ответы сервера заголовок
alt-svc: h3=":443". Это подсказка для браузера: «эй, я умею общаться по новому быстрому протоколу, переключайся». Я проверил это черезcurl. -
Убедился в браузере. В Chrome (в DevTools → Network) я включил колонку Protocol и увидел, что сайт и все картинки грузятся со значением
h3. Всётаки полетело.
Зачем это нужно. HTTP/3 работает быстрее в нестабильных сетях (например, в мобильном интернете), так как не «спотыкается» при потере пакетов данных, как это делает старый TCP. Сайт стал еще отзывчивее.
Теперь можно и дальше оптимизировать. ИИ в помощь.