HTTP/2 принят и стандартизирован, и большинство современных браузеров (в том числе и мобильных) его уже поддерживают. Как же добавить поддержку протокола на свой сервер?
Немного предыстории
Отличия от HTTP 1.1
Основные отличия таковы:
- HTTP/2 — бинарный;
- Приоритезация запросов;
- Мультиплексирование множества запросов в одном соединении TCP.
Этот протокол позволяет выигрывать в скорости передачи данных, а также снизить нагрузку на сервер.
SPDY
Читается как «спиди». Эта разработка компании Google позволяла использовать одно TCP соединение, и также использовала приоретизацию при загрузке ресурсов.
Однако его поддержка уже прекращена в пользу HTTP/2, поэтому особо тут нечего говорить.
Поддержка HTTP/2 в Apache
Обновление Apache
Для того, чтобы использовать HTTP/2, для начала нужно обновить Apache до версии
2.4.17
или выше.
sudo add-apt-repository ppa:ondrej/apache2
а потом сразу и:
sudo apt-get update
Проверить текущую версию можно командой
apache2 -v
.
Вот теперь, когда Apache выше 2.4.17 установлен, можно приступать к настройке самого Apache и виртуальных хостов на работу через HTTP/2.
Активация HTTP/2
Активируем поддержку нового протокола
sudo a2enmod http2
Настройка сайтов
Добавляем поддержку
http/2
в виртуальные хосты.
Естественно, виртуальные хосты лежат соответственно в
/etc/apache2/sites-enabled
и
/etc/apache2/sites-avalible
:
# Для сайта без https
<VirtualHost *:80>
ServerName example.com
Protocols h2c http/1.1
# Остальная конфигурация…
</VirtualHost>
# Для сайта с https
<VirtualHost *:443>
ServerName example.com
Protocols h2 http/1.1
# Остальная конфигурация…
</VirtualHost>
Ну и конечно же необходимо после всех этих махинаций перезагрузить Apache.
sudo service apache2 restart
Если сервер успешно перезагрузился, и сайты работают, значит все сделано было правильно.
Проверка
Есть несколько способов проверить, все ли правильно работает. Есть сервисы, есть плагины для браузера, но проще всего посмотреть какой протокол отображается в
access.log
.
P. S.:
Если Вам важны позиции в поиске Яндекса, то спешу Вас огорчить, его роботы не понимают новый протокол:
В настоящее время у основного поискового робота не реализована поддержка протокола HTTP/2, поэтому Ваш сайт может индексироваться некорректно.
8 марта 2016
Ну точнее говоря может перестать индексироваться вообще.