Представлен (http://www.apache.org/dist/httpd/Announcement2.4.html) новый выпуск http-сервера Apache 2.4.17 (http://httpd.apache.org/), примечательный включением в состав модуля mod_http2 (http://httpd.apache.org/docs/trunk/mod/mod_http2.html) с реализацией протокола HTTP/2. Модуль построен на базе движка libnghttp2 (http://nghttp2.org/), созданного разработчиками проекта Curl и продолжающего развитие библиотеки spdylay (https://github.com/tatsuhiro-t/spdylay). Включение HTTP/2 производится через директиву Protocols (например, "Protocols h2 http/1.1").
HTTP/2.0 решает задачи повышения эффективности использования сетевых ресурсов и снижения задержек при соединении и обмене данными между клиентом и сервером, в условиях изменившихся современных реалий, при которых для загрузки сайта требуется отправить множество отдельных запросов, связанных с получением CSS, файлов JavaScript и картинок. По оценке компании Google скорость открытия страниц при использовании HTTP/2.0 в среднем увеличивается на 15-50%. С особенностями протокола HTTP/2 можно познакомиться в текста анонса (https://www.opennet.dev/opennews/art.shtml?num=42236) 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 секунд.
URL: http://www.apache.org/dist/httpd/Announcement2.4.html
Новость: http://www.opennet.dev/opennews/art.shtml?num=43137