Представлен новый выпуск http-сервера Apache 2.4.17, примечательный включением в состав модуля mod_http2 с реализацией протокола HTTP/2. Модуль построен на базе движка libnghttp2, созданного разработчиками проекта Curl и продолжающего развитие библиотеки spdylay. Включение HTTP/2 производится через директиву Protocols (например, "Protocols h2 http/1.1").
HTTP/2 решает задачи повышения эффективности использования сетевых ресурсов и снижения задержек при соединении и обмене данными между клиентом и сервером, в условиях изменившихся современных реалий, при которых для загрузки сайта требуется отправить множество отдельных запросов, связанных с получением CSS, файлов JavaScript и картинок. По оценке компании Google скорость открытия страниц при использовании HTTP/2 увеличивается в среднем на 15-50%. С особенностями протокола HTTP/2 можно познакомиться в тексте анонса RFC 7540.
Вторым заметным улучшением в Apache 2.4.17 является возможность использования в модулях MPM флага SO_REUSEPORT, позволяющего нескольким слушающим сокетам подключиться к одному порту для приёма соединений. Поступающие соединения и пакеты распределяются одновременно по всем сокетам, подключенным через SO_REUSEPORT, что позволяет упростить распределение обработчиков соединения по разным процессам.
Другие улучшения:
- В mod_ssl добавлена поддержка компиляции с библиотекой libssl, собранной в режиме OPENSSL_NO_SSL3. По умолчанию прекращена поддержка SSLv3 (опции SSLProtocol и SSLProxyProtocol установлены в "all -SSLv3");
- В mod_ssl при настройке списка допустимых шифров теперь используется строка ":!aNULL:!eNULL:!EXP" вместо "!aNULL:!eNULL:!EXP:". Добавлена возможность настройки параметров шифров SUITEB*, представленных в OpenSSL 1.0.2;
- В mod_ssl добавлена поддержка извлечения форм msUPN и dnsSRV из элементов subjectAltName с типом "otherName", которые записываютя в переменные окружения SSL_{CLIENT,SERVER}_SAN_OTHER_{msUPN,dnsSRV}_n;
- В mod_substitute добавлена возможность изменения порядка слияния образцов. Настройка осуществляется при помощи директивы "SubstituteInheritBefore on|off";
- В mod_autoindex теперь допустимо использование автоиндексов без загрузки модулей mod_dir и mod_mime;
- В mod_rewrite реализована поддержка установки Cookies, содержащих символ ':', применяя ';' как альтернативный разделитель;
- В apxs добавлен вывод значений HTTPD_VERSION и HTTPD_MMN в выводе
"apxs -q";
- В mod_socache_memcache добавлена директива 'MemcacheConnTTL' для управления продолжительностью хранения данных об idle-соединениях в кэше memcached. Таймаут по молчанию увеличен с 600 микросекунд до 15 секунд.
|