Веб сервер

Обзор

Web serverэто компьютер, на котором хранится веб-контент. В основном веб-сервер используется для размещения веб-сайтов, но существуют и другие веб-серверы, такие как игры, хранилище, FTP, электронная почта и т. Д.

Веб-сайт - это совокупность веб-страниц, а веб-сервер - это программное обеспечение, которое отвечает на запрос веб-ресурсов.

Веб-сервер работает

Веб-сервер отвечает на запрос клиента одним из следующих двух способов:

  • Отправка файла клиенту, связанному с запрошенным URL.

  • Создание ответа путем вызова сценария и связи с базой данных

Key Points

  • Когда клиент отправляет запрос на веб-страницу, веб-сервер ищет запрошенную страницу, если запрошенная страница найдена, затем он отправляет ее клиенту с ответом HTTP.

  • Если запрошенная веб-страница не найдена, веб-сервер отправит HTTP response:Error 404 Not found.

  • Если клиент запросил какие-то другие ресурсы, веб-сервер свяжется с сервером приложений и хранилищем данных для создания ответа HTTP.

Архитектура

Архитектура веб-сервера следует двум следующим подходам:

  1. Параллельный подход

  2. Подход, ориентированный на единый процесс.

Параллельный подход

Параллельный подход позволяет веб-серверу обрабатывать несколько клиентских запросов одновременно. Этого можно добиться следующими способами:

  • Multi-process

  • Multi-threaded

  • Гибридный метод.

Мультиобработка

В этом случае один процесс (родительский процесс) инициирует несколько однопоточных дочерних процессов и распределяет входящие запросы по этим дочерним процессам. Каждый из дочерних процессов отвечает за обработку отдельного запроса.

Родительский процесс несет ответственность за мониторинг нагрузки и принятие решения о том, следует ли убивать или разветвлять процессы.

Многопоточный

В отличие от Multi-process, он создает несколько однопоточных процессов.

Гибридный

Это комбинация двух вышеперечисленных подходов. В этом подходе создается несколько процессов, и каждый процесс инициирует несколько потоков. Каждый из потоков обрабатывает одно соединение. Использование нескольких потоков в одном процессе снижает нагрузку на системные ресурсы.

Примеры

В следующей таблице описаны наиболее популярные сегодня веб-серверы:

SN Дескриптино веб-сервера
1 Apache HTTP Server
Это самый популярный веб-сервер в мире, разработанный Apache Software Foundation. Веб-сервер Apache - это программное обеспечение с открытым исходным кодом, которое можно установить практически на все операционные системы, включая Linux, UNIX, Windows, FreeBSD, Mac OS X и другие. Около 60% машин веб-серверов используют веб-сервер Apache.
2. Internet Information Services (IIS)
Информационный сервер Интернета (IIS) - это высокопроизводительный веб-сервер от Microsoft. Этот веб-сервер работает на платформах Windows NT / 2000 и 2003 (и, возможно, также будет в будущей новой версии Windows). IIS входит в состав Windows NT / 2000 и 2003; Поскольку IIS тесно интегрирован с операционной системой, управлять им относительно легко.
3. Lighttpd
Lighttpd, произносится как lighty, также является бесплатным веб-сервером, который распространяется с операционной системой FreeBSD. Этот веб-сервер с открытым исходным кодом является быстрым, безопасным и потребляет гораздо меньше мощности процессора. Lighttpd также может работать в операционных системах Windows, Mac OS X, Linux и Solaris.
4. Sun Java System Web Server
Этот веб-сервер от Sun Microsystems подходит для средних и крупных веб-сайтов. Хотя сервер бесплатный, он не является открытым исходным кодом. Однако он работает на платформах Windows, Linux и UNIX. Веб-сервер Sun Java System поддерживает различные языки, сценарии и технологии, необходимые для Web 2.0, такие как JSP, сервлеты Java, PHP, Perl, Python и Ruby on Rails, ASP и Coldfusion и т. Д.
5. Jigsaw Server
Jigsaw (сервер W3C) принадлежит Консорциуму World Wide Web. Это открытый исходный код, бесплатный и может работать на различных платформах, таких как Linux, UNIX, Windows и Mac OS X. Бесплатная BSD и т. Д. Jigsaw был написан на Java и может запускать сценарии CGI и программы PHP.