Здравствуйте, уважаемые посетители сайта ZametkiNaPolyah.ru. Продолжаем знакомиться с протоколом HTTP в рубрике Серверы и протоколы и ее разделе HTTP протокол.  Давайте теперь посмотрим на HTTP  сервера, которые у нас существуют. Вообще говоря, стандарт HTTP не делает строго разделения на сервер и клиент, зачастую бывает так, что приложение может являться одновременно и HTTP сервером и HTTP клиентом. Сразу скажу, что отдельно рассматривать HTTP клиенты мы не будем, так как я не вижу в этом практического смысла, потому что с клиентами, в отличие от HTTP серверов, вы сталкиваетесь каждый день.

HTTP сервер или веб-сервер

HTTP сервер или веб-сервер

HTTP сервер или веб-сервер – это программа, которая понимает, что нужно клиенту и выдает ему ответы в виде HTML страниц, на которых может содержаться различная информация: изображения, тексты, скрипты, файлы, медиа данные (видео и аудио) и многое другое. HTTP сервер принимает HTTP запрос от клиента (клиентом может быть браузер, мобильный телефон, телевизор или электрочайник, если у него есть функция выхода в интернет) и дает ему HTTP ответ, хочу обратить ваше внимание на то, что в нагрузку к HTTP ответу не обязательно должен идти ответ в виде HTML страницы, данные могут быть и другими.

Разница между веб-сервером и HTTP сервером

Для дальнейшего понимания мне следует уточнить: что понятие веб-сервер намного более широкое, чем сервер HTTP. Веб-сервер – это программный комплекс, необходимый для поддержания работы веб-протоколов и непосредственно железо, на котором эти программы работают (физические сервера). HTTP сервер – это всего лишь одна программа, реализующая взаимодействие по протоколу HTTP. Но в рамках записей по HTTP протоколу, говоря веб-сервер, я буду понимать именно HTTP сервер.

Функции HTTP сервера. Функции веб-сервера

Рассмотрим основные функции, которые выполняет HTTP сервер:

  • основной функцией является поддержка взаимодействия между компьютерами в сети по протоколу HTTP;
  • HTTP сервер может вести свои журналы: ошибок, обращений пользователей и другие;
  • шифрование данных (HTTP протокол не поддерживает шифрование, для этого есть протоколы SSL и TLS, вы можете прочитать про кодирование в HTTP и безопасность в HTTP);
  • HTTP сервер должен уметь распределять нагрузку;
  • сжимать содержимое ответов;
  • HTTP сервер может быть конечным, а может быть транзитным, во втором случае его называют прокси;
  • HTTP сервер должен уметь кэшировать;
  • сервера HTTP версии 1.1 должны поддерживать постоянные HTTP соединения;
  • сервера должны уметь управлять HTTP обсуждением;
  • и многое другое.

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

Самые популярные HTTP и веб-серверы

Вообще, список функций веб-сервера или сервера HTTP зависит от программы, которая выполняет эти функции. Поэтому давайте перечислим самые популярные HTTP серверы:

  • Apache – наиболее популярный и распространенный HTTP сервер, используется для Unix систем, но есть версии и для ОС семейства Windows. Данный HTTP сервер является свободным;
  • IIS – веб-сервер от компании Microsoft, распространяется бесплатно с операционными система семейства Windows;
  • nginx – свободный HTTP сервер, разрабатываемый российским программистом Игорем Сысоевым, стоит отметить, что многие крупные проекты использует веб-сервер Игоря Сысоева.
  • Google Web Server – этот веб-сервер распространяется и поддерживается компанией Гугл, за основу они взяли HTTP сервер Apache и доработали его.
  • Cherokee – свободный веб-сервер, особенность которого заключается в том, что управлять им можно только через веб-интерфейс.

Мы привели только самые популярные HTTP и веб-серверы, на самом деле их список гораздо шире. Но, сказать можно следующее: достаточно изучить протокол HTTP, чтобы понять, как настраивать любой из веб-серверов или достаточно, понять, как работает один HTTP сервер, чтобы работать с другими. Конечно, у каждого веб-сервера есть свои тонкости и особенности, которые может изучить путем опытов и экспериментов или из документации (а лучше совместить опыт и документацию), но в основе любого веб-сервера лежит HTTP протокол и любой сервер должен выполнять требования HTTP протокола, а HTTP ответы должны содержать все необходимы для передачи по HTTP параметры.

Не забывайте делиться своим мнением в комментариях и оставлять отзывы, это поможет сделать нашу работу лучше, с уважением ZametkiNaPolyah.ru!

Возможно, эти записи вам покажутся интересными


Выберете удобный для себя способ, чтобы оставить комментарий

This article has 3 comments

  1. One+one Reply

    На вашем сайте много полезной информации для новичков! Как теоретической, например, здесь вы описываете базовые понятия, связанные с HTTP серверами, так и практической, где есть детальные внятные и понятные инструкции по установки веб-серверов на локальные компьютеры, это я про Apache, AMPPS и Денвер. Хотя последний по моему имхо уже устарел и его не стоит ставить даже в целях изучения работы HTTP серверов или веб-серверов.

  2. Юлия Reply

    Наверно IIS, а не ISS?

    • Кирилл Reply

      Да, IIS, спасибо, поправил.

Leave a Comment

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Loading Disqus Comments ...