Веб сервер
Обзор
Web serverэто компьютер, на котором хранится веб-контент. В основном веб-сервер используется для размещения веб-сайтов, но существуют и другие веб-серверы, такие как игры, хранилище, FTP, электронная почта и т. Д.
Веб-сайт - это совокупность веб-страниц, а веб-сервер - это программное обеспечение, которое отвечает на запрос веб-ресурсов.
Веб-сервер работает
Веб-сервер отвечает на запрос клиента одним из следующих двух способов:
Отправка файла клиенту, связанному с запрошенным URL.
Создание ответа путем вызова сценария и связи с базой данных
Key Points
Когда клиент отправляет запрос на веб-страницу, веб-сервер ищет запрошенную страницу, если запрошенная страница найдена, затем он отправляет ее клиенту с ответом HTTP.
Если запрошенная веб-страница не найдена, веб-сервер отправит HTTP response:Error 404 Not found.
Если клиент запросил какие-то другие ресурсы, веб-сервер свяжется с сервером приложений и хранилищем данных для создания ответа HTTP.
Архитектура
Архитектура веб-сервера следует двум следующим подходам:
Параллельный подход
Подход, ориентированный на единый процесс.
Параллельный подход
Параллельный подход позволяет веб-серверу обрабатывать несколько клиентских запросов одновременно. Этого можно добиться следующими способами:
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. |