Новые рельсы теперь в базе

Я подключил к своему приложению HTTP/3. Но не на уровне кода или стека, а на уровне Caddy. И оказалось, что это вобще проще, чем я думал.

Всё оказалось проще, чем кажется. Я не писал сложный код, потому что наш веб-сервер Caddy умеет включать HTTP/3 автоматически «из коробки». Просто врубил и всё.

Вот 3 шага, как я это сделал.

  1. Открыл UDP-порт на сервере. Обычный интернет работает по протоколу TCP (порт 443). А новый HTTP/3 работает на технологии QUIC, которой нужен UDP-порт 443. Я зашел на сервер через SSH и выполнил команду sudo ufw allow 443/udp. Без этого шага Caddy пытался бы отдавать HTTP/3, но файрвол его блокировал.

  2. Проверил заголовки. Caddy автоматически добавил в ответы сервера заголовок alt-svc: h3=":443". Это подсказка для браузера: «эй, я умею общаться по новому быстрому протоколу, переключайся». Я проверил это через curl.

  3. Убедился в браузере. В Chrome (в DevTools → Network) я включил колонку Protocol и увидел, что сайт и все картинки грузятся со значением h3. Всётаки полетело.

Зачем это нужно. HTTP/3 работает быстрее в нестабильных сетях (например, в мобильном интернете), так как не «спотыкается» при потере пакетов данных, как это делает старый TCP. Сайт стал еще отзывчивее.

Теперь можно и дальше оптимизировать. ИИ в помощь.