HTTP-сервер Apache

редактировать
Программное обеспечение веб-сервера с открытым исходным кодом
HTTP-сервер Apache
Логотип HTTP-сервера Apache (2016).svg
Исходное автор (ы) Роберт МакКул
Разработчик (и) Apache Software Foundation
Первоначальный выпуск1995; 25 лет назад (1995 г.)
Стабильный выпуск 2.4.46 (7 августа 2020 г.; 2 месяца назад (2020-08-07))
Репозиторий Репозиторий HTTP-сервера Apache
Написано наC,XML
Операционная система Unix-like, Microsoft Windows, OpenVMS
Тип Веб-сервер
Лицензия Лицензия Apache 2.0
Веб-сайтhttps://projects.apache.org/project.html?httpd-http_server httpd.apache.org, https: / / projects.apache.org / project.html? httpd-http_server Измените в Викиданных

HTTP-сервер Apache, в разговорной речи называется Apache (), это бесплатное программное обеспечение с открытым исходным кодом кросс-платформенный веб-сервер, выпущен в соответствии с условиями лицензии Apache 2.0. Apache разрабатывается и поддерживается открытым сообществом разработчиков под эгидой Apache Software Foundation.

Подавляющее большинство экземпляров HTTP-сервера Apache работают на дистрибутиве Linux, но текущие версии также работают. в Microsoft Windows, OpenVMS и большом количестве Unix-подобных систем. Предыдущие версии также работали в NetWare, OS / 2 и других операционных системах, включая порты на мэйнфреймы.

Первоначально основывались на NCSA HTTPd server, разработка Apache началась в начале 1995 года после остановки работы над кодом NCSA. Apache сыграл ключевую роль в начальном развитии World Wide Web, быстро обогнав NCSA HTTPd в качестве доминирующего сервера HTTP, и оставался самым популярным с апреля 1996 года. В 2009 году он стала первым программным обеспечением веб-сервера, обслуживающим более 100 миллионов веб-сайтов. По оценкам Netcraft, на апрель 2020 года Apache обслуживает 29,12% из миллиона самых загруженных веб-сайтов, а Nginx - 25,54%; по данным W3Techs, Apache обслуживает 39,5% из 10 миллионов сайтов, а Nginx - 31,7%.

Содержание

  • 1 Название
  • 2 Обзор функций
  • 3 Производительность
  • 4 Лицензирование
    • 4.1 Версии
  • 5 Разработка
  • 6 Безопасность
  • 7 См. Также
  • 8 Ссылки
  • 9 Внешние ссылки

Имя

Был дан ряд объяснений происхождения имени Apache предлагались годами.

С момента создания проекта Apache в 1995 году в официальной документации говорилось:

Apache - симпатичное имя, которое прижилось. Он был основан на некотором существующем коде и серии программных исправлений , игра слов на сервере «PAtCHy».

В апрельском интервью 2000 года Брайан Белендорф один из создателей Apache сказал:

Название пришло буквально из ниоткуда. Хотел бы я сказать, что это было что-то фантастическое, но это было совершенно неожиданно. Я поместил это на страницу, а затем, несколько месяцев спустя, когда этот проект начался, я указал людям на эту страницу и сказал: «Эй, что вы думаете об этой идее?»... Кто-то сказал, что им понравилось это имя и что это действительно хороший каламбур. И я подумал: «Игра слов? Что ты имеешь в виду?» Он сказал: «Ну, мы строим сервер из кучи программных исправлений, верно? Итак, это неоднородный веб-сервер». Я сказал: «О, хорошо».... Когда я подумал об этом имени, нет. Это просто как бы подразумевает: «Не берите пленных. Будьте агрессивны и надерните какую-нибудь задницу».

С 2013 года Apache Foundation объясняет происхождение названия следующим образом:

Название «Апачи» было выбрано из уважения к различным индейским народам, вместе именуемым апачем, хорошо известным своими превосходными навыками в войне. стратегия и их неиссякаемая выносливость. Он также представляет собой забавный каламбур на «неоднородном веб-сервере» - сервере, состоящем из серии исправлений, - но это не было его источником. Группа разработчиков, выпустивших это новое программное обеспечение, вскоре начала называть себя «Apache Group».

Когда Apache работает под Unix, его имя процесса - httpd, что является сокращением от «HTTP демон ".

Обзор функций

Apache поддерживает различные функции, многие из них реализованы в виде скомпилированных модулей, которые расширяют основные функции. Они могут варьироваться от схем аутентификации до поддержки серверных языков программирования, таких как Perl, Python, Tcl и PHP. Популярные модули аутентификации включают mod_access, mod_auth, mod_digest и mod_auth_digest, преемник mod_digest. Примеры других функций включают поддержку Secure Sockets Layer и Transport Layer Security (mod_ssl ), модуль прокси (mod_proxy ), модуль перезаписи URL (mod_rewrite), пользовательские файлы журнала (mod_log_config) и поддержка фильтрации (mod_include и mod_ext_filter).

Популярные методы сжатия в Apache включают внешнее расширение модуль, mod_gzip, реализовано t o помощь в уменьшении размера (веса) веб-страниц, обслуживаемых через HTTP. ModSecurity - это механизм обнаружения и предотвращения вторжений с открытым исходным кодом для веб-приложений. Журналы Apache можно анализировать через веб-браузер с помощью бесплатных скриптов, таких как AWStats / W3Perl или Visitors.

Виртуальный хостинг позволяет одной установке Apache обслуживать множество различных веб-сайтов. Например, один компьютер с одной установкой Apache может одновременно обслуживать example.com, example.org, test47.test-server.example.eduи т. Д.

Apache имеет настраиваемые сообщения об ошибках, СУБД базы данных аутентификации, согласование содержимого и поддерживает несколько графических пользовательских интерфейсов (GUI).

Он поддерживает аутентификацию по паролю и аутентификацию цифрового сертификата. Поскольку исходный код находится в свободном доступе, любой может адаптировать сервер к конкретным потребностям, а также существует большая публичная библиотека надстроек Apache.

Более подробный список функций представлен ниже:

Производительность

Вместо реализации единой архитектуры Apache предоставляет различные многопроцессорные модули (MPM), которые позволяют ему работать в режиме на основе процесса или в гибридном (процесс s и поток ) или режим гибридного события, чтобы лучше соответствовать требованиям каждой конкретной инфраструктуры. Поэтому важен выбор MPM и конфигурации. Там, где требуется компромисс в производительности, Apache предназначен для уменьшения задержки и увеличения пропускной способности по сравнению с простой обработкой большего количества запросов, что обеспечивает согласованную и надежную обработку запросов в разумные сроки.

Для доставки статических страниц серия Apache 2.2 была признана значительно более медленной, чем nginx и varnish. Чтобы решить эту проблему, разработчики Apache создали Event MPM, который сочетает использование нескольких процессов и нескольких потоков для каждого процесса в асинхронном цикле на основе событий. Согласно Джиму Ягельски и другим независимым источникам, эта архитектура, реализованная в серии Apache 2.4, работает не хуже, чем веб-серверы на основе событий. Однако некоторые независимые, но значительно устаревшие тесты показывают, что он по-прежнему вдвое медленнее, чем nginx, например,

Лицензирование

HTTP-сервер Apache кодовая база была повторно лицензирована к лицензии Apache 2.0 (из предыдущей лицензии 1.1) в январе 2004 года, и Apache HTTP Server 1.3.31 и 2.0.49 были первыми выпусками , использующими новую лицензию.

Проекту OpenBSD это изменение не понравилось, и он продолжил использовать версии Apache до 2.0, эффективно создав ответвление Apache 1.3.x для своих целей. Первоначально они заменили его на Nginx, а вскоре после этого сделали свою собственную замену OpenBSD Httpd на основе проекта relayd.

Версии

Версия 1.1: Лицензия Apache 1.1 был одобрен ASF в 2000 г.: Основное изменение по сравнению с лицензией 1.0 находится в «пункте о рекламе» (раздел 3 лицензии 1.0); от производных продуктов больше не требуется указывать указание авторства в своих рекламных материалах, только в документации.

Версия 2.0: ASF приняла лицензию Apache License 2.0 в январе 2004 года. Заявленные цели лицензии включали упрощение использования лицензии для проектов, не относящихся к ASF, улучшение совместимости с программным обеспечением на основе GPL, разрешение лицензии должны быть включены в качестве ссылки вместо перечисления в каждом файле, разъясняя лицензию на взносы и требуя патентную лицензию на взносы, которые обязательно нарушают собственные патенты участника.

Разработка

Версии HTTP-сервера Apache
ВерсияПервоначальный выпускПоследний выпуск
Старая версия, больше не поддерживается: 1.31998-06-062010-02-03 (1.3.42)
Старая версия, больше не поддерживается: 2.02002-04-062013-07-10 (2.0.65)
Старая версия, больше не поддерживается: 2.22005-12-012017-07-11 (2.2.34)
Текущая стабильная версия: 2.42012-02-212020-08-07 (2.4.46)
Условные обозначения: Старая версия Старая версия, все еще поддерживается Последняя версия Последняя предварительная версия Будущий выпуск

Проект HTTP-сервера Apache - это совместная разработка программного обеспечения, направленная на создание надежного, функционального богатая и свободно доступная реализация исходного кода HTTP (Web) сервера. Проект совместно управляется группой добровольцев, расположенных по всему миру, которые используют Интернет и Интернет для общения, планирования и разработки сервера и связанной с ним документации. Этот проект является частью Apache Software Foundation. Вдобавок сотни пользователей внесли в проект идеи, код и документацию.

Apache 2.4 отказался от поддержки BeOS, TPF, A / Платформы UX, NeXT и Tandem.

Security

Apache, как и другое серверное программное обеспечение, можно взломать и использовать. Основным инструментом атаки Apache является Slowloris, который использует ошибку в программном обеспечении Apache. Он создает множество сокетов и поддерживает каждый из них активным и занятым, отправляя несколько байтов (известных как «заголовки поддержки активности»), чтобы сервер знал, что компьютер все еще подключен и не испытывает сетевых проблем. Разработчики Apache обратились к Slowloris с несколькими модулями, чтобы ограничить наносимый ущерб; Модули Apache mod_limitipconn, mod_qos, mod_evasive, mod security, mod_noloris и mod_antiloris были предложены как средства снижения вероятности успешной атаки Slowloris. Начиная с Apache 2.2.15, Apache поставляет модуль mod_reqtimeout в качестве официального решения, поддерживаемого разработчиками.

См. Также

  • Портал бесплатного программного обеспечения с открытым исходным кодом

Ссылки

Внешние ссылки

В Викиучебниках есть книга по теме: Apache
Последняя правка сделана 2021-06-11 20:10:29
Содержание доступно по лицензии CC BY-SA 3.0 (если не указано иное).
Обратная связь: mail@alphapedia.ru
Соглашение
О проекте