A веб-сервер - это серверное программное обеспечение или аппаратное обеспечение, предназначенное для запуска этого программного обеспечения, которое может удовлетворить запросы клиента в World Wide Web. Веб-сервер, как правило, может содержать один или несколько веб-сайтов. Веб-сервер обрабатывает входящие сетевые запросы через HTTP и несколько других связанных протоколов.
. Основная функция веб-сервера - хранить, обрабатывать и доставлять веб- страницы клиентам. Связь между клиентом и сервером осуществляется с использованием протокола передачи гипертекста (HTTP). Доставляемые страницы - это чаще всего HTML-документы, которые могут включать изображения, таблицы стилей и скрипты в дополнение к текстовому содержимому.
Для веб-сайта с высокой посещаемостью может использоваться несколько веб-серверов; здесь серверы Dell устанавливаются вместе и используются для Wikimedia Foundation.A пользовательского агента, обычно веб-браузера или поискового робота, инициирует обмен данными, отправляя запрос на конкретный ресурс по протоколу HTTP, и сервер отвечает содержимым этого ресурса или сообщением об ошибке , если это невозможно. Ресурс обычно представляет собой реальный файл на вторичном хранилище сервера, но это не всегда так и зависит от того, как реализован.
веб-сервер. Хотя основная функция заключается в обслуживании контента, полная реализация HTTP также включает способы получения контента от клиентов. Эта функция используется для отправки веб-форм, включая загрузку файлов.
Многие общие веб-серверы также поддерживают сценарии на стороне сервера с использованием Active Server Pages (ASP), PHP (препроцессор гипертекста) или других языки сценариев. Это означает, что поведение веб-сервера может быть записано в отдельных файлах, в то время как фактическое программное обеспечение сервера остается неизменным. Обычно эта функция используется для генерации HTML-документов динамически («на лету»), а не для возврата статических документов. Первый в основном используется для получения или изменения информации из баз данных. Последние обычно намного быстрее и проще кэшировать, но не могут доставлять динамический контент.
Веб-серверы часто можно найти встроенными в такие устройства, как принтеры, маршрутизаторы, веб-камеры и обслуживающие только локальную сеть. Затем веб-сервер может использоваться как часть системы для мониторинга или администрирования рассматриваемого устройства. Обычно это означает, что на клиентском компьютере не нужно устанавливать дополнительное программное обеспечение, поскольку требуется только веб-браузер (который сейчас входит в состав большинства операционных систем ).
В марте 1989 года сэр Тим Бернерс-Ли предложил новый проект для своего работодателя CERN с целью облегчения обмена информацией между учеными с помощью системы гипертекста. В результате проекта Бернерс-Ли написал две программы в 1990 году:
Между 1991 и 1994 годами простота и эффективность ранних технологий, используемых для просмотра и обмена данными через всемирную паутину, помогла перенести их на множество различных операционных систем и распространить их использование среди научных организаций и университетов, а также впоследствии в промышленность.
В 1994 году Бернерс-Ли решил создать Консорциум Всемирной паутины (W3C) для регулирования дальнейшего развития множества задействованных технологий (HTTP, HTML и т. Д.) В процессе стандартизации.
Веб-серверы могут отображать компонент пути в унифицированном указателе ресурсов (URL) в:
Для статического запроса путь URL, указанный клиентом, определяется относительно корневого каталога веб-сервера.
Рассмотрим следующий URL в том виде, в каком он будет запрошен клиентом по HTTP:
http://www.example.com/path/file.html
Клиентский пользовательский агент преобразует его в соединение с www.example.comс помощью следующего запроса HTTP / 2 :
GET / path / file.html Хост HTTP / 2: www.example.com
Веб-сервер на www.example.comдобавит указанный путь к пути своего корневого каталога. На сервере Apache это обычно / home / www(на машинах Unix обычно / var / www). Результатом является ресурс локальной файловой системы:
/home/www/path/file.html
Затем веб-сервер считывает файл, если он существует, и отправляет ответ в веб-браузер клиента. Ответ будет описывать содержимое файла и содержать сам файл, либо будет возвращено сообщение об ошибке о том, что файл не существует или недоступен.
Веб-сервер может быть либо включен в OS ядро , либо в пользовательское пространство (например, другие обычные приложения).
Веб-серверы, работающие в пользовательском режиме, должны запрашивать у системы разрешение на использование большего объема памяти или ресурсов ЦП. Эти запросы к ядру не только требуют времени, но и не всегда удовлетворяются, потому что система резервирует ресурсы для собственного использования и несет ответственность за совместное использование аппаратных ресурсов со всеми другими запущенными приложениями. Выполнение в пользовательском режиме также может означать бесполезные буферные копии, что является еще одним ограничением для веб-серверов пользовательского режима.
Веб-сервер (программа) имеет определенные ограничения нагрузки, поскольку он может обрабатывать только ограниченное количество одновременных клиентских подключений (обычно от 2 до 80 000, по умолчанию от 500 до 1000) на IP-адрес (и порт TCP), и он может обслуживать только определенное максимальное количество запросов в секунду (RPS, также известное как запросов в секунду или QPS) в зависимости от:
Когда веб-сервер приближается к своему пределу или превышает его, он перестает отвечать.
В любой момент веб-серверы могут быть перегружены из-за:
Симптомы перегруженного веб-сервера:
Чтобы частично преодолеть пределы нагрузки выше среднего и предотвратить перегрузку, большинство популярных веб-сайтов используют общие методы, такие как:
http: //images.example.com
http://example.com
Ниже представлены последние статистические данные о рыночной доле всех сайтов ведущих веб-серверов на Интернет компанией W3Techs Использование веб-серверов для веб-сайтов.
Продукт | Производитель | Процент |
---|---|---|
Apache | Apache | 44,3% |
nginx | NGINX, Inc. | 41,0% |
IIS | Microsoft | 8,9% |
Веб-сервер LiteSpeed | 3,9% | |
GWS | 0,9% |
Все остальные веб-серверы используются менее чем 1% веб-сайтов.
Ниже приведены последние статистические данные о рыночной доле всех сайтов ведущих веб-серверов в Интернете по данным W3Techs Использование веб-серверов для веб-сайтов.
Продукт | Поставщик | Процент |
---|---|---|
Apache | Apache | 45,9% |
nginx | NGINX, Inc. | 39,0% |
IIS | Microsoft | 9,5% |
Веб-сервер LiteSpeed | 3,4% | |
GWS | 1,0% |
Все остальные веб-серверы используются менее чем на 1% веб-сайтов.
Ниже приведены последние статистические данные о рыночной доле всех сайтов ведущих веб-серверов в Интернете по Netcraft Обзор веб-серверов за февраль 2017 г..
Продукт | Поставщик | Январь 2017 г. | Процент | Февраль 2017 г. | Процент | Изменение | Цвет диаграммы |
---|---|---|---|---|---|---|---|
IIS | Microsoft | 821,905,283 | 45.66% | 773,552,454 | 43.16% | -2,50 | красный |
Apache | Apache | 387,211,503 | 21,51% | 374,297,080 | 20,89% | -0,63 | черный |
nginx | NGINX, Inc. | 317,398,317 | 17,63% | 348,025,788 | 19,42% | 1,79 | зеленый |
GWS | 17,933,762 | 1.00% | 18,438,702 | 1.03% | 0,03 | синий |
Ниже приведены последние статистические данные о рыночной доле всех сайтов ведущих веб-серверов в Интернете по Netcraft февраль Обзор веб-серверов 2016.
Продукт | Поставщик | Январь 2016 г. | Процент | Февраль 2016 г. | Процент | Изменение | Цвет диаграммы |
---|---|---|---|---|---|---|---|
Apache | Apache | 304,271,061 | 33,56% | 306,292,557 | 32.80% | 0,76 | черный |
IIS | Microsoft | 262,471,886 | 28.95% | 278,593,041 | 29,83% | 0,88 | красный |
nginx | NGINX, Inc. | 141,443,630 | 15,60% | 137,459,391 | 16,61% | -0,88 | зеленый |
GWS | 20,799,087 | 2.29% | 20,640,058 | 2.21% | -0,08 | синий |
Apache, IIS и Nginx - наиболее часто используемые веб-серверы во всемирной паутине.