Протокол HTTP
HTTP – это один из ключевых сетевых протоколов, являющийся неотъемлемой частью современных компьютерных сетей. Его относят по модели OSI к самому высокому, прикладному уровню, то есть он отвечает за взаимодействие пользователя и сети, за пользовательские приложения. Первоначально HTTP была рассчитана на передачу HTML-документов, но на практике она может использоваться для передачи различных данных.
Первый концепт HTTP был представлен в марте 1991 года. Он задумывался как протокол, обеспечивающий эффективный доступ к документам в Интернете и удобную навигацию между ними. Уже в 1992 году была выпущена первая версия - HTTP/0.9. HTTP/1.0 вышла в 1996 году, а используемая по сей день HTTP/1.1 – в 1999 году.
Техническая реализация
HTTP работает по принципу «клиент-сервер», то есть предусмотрено участие HTML-сервера, ожидающий запросы клиента и содержащий передаваемые данные, и клиента, отправляющего запросы и получающего данные. Обычно в качестве клиента выступает веб-браузер (или как вариант - приложение). В качестве сервера выступает один из многочисленных веб-серверов. Самые известные из них - Apache (отличающийся большей гибкостью и количеством дополнительных опций) и Nginx (отличающийся более высокой производительностью).
HTTP стал стандартом де-факто, обеспечивающим работу веб-сайтов Всемирной паутины. Также он используется в качестве протокола передачи для многих других протоколов и веб-приложений, например WebDAV и SOAP. Обычно он используется для ресурсов, характеризующихся высоким уровнем посещаемости, умеренными размерами, большим количеством и частой обновляемостью данных.
Также HTTP позволяет использовать прокси – специальные промежуточные сервера, такие можно найти здесь Proxy-Sale.Com, используемые для кэширования и сжатия данных, защиты от внешнего доступа, фильтрации нежелательного контента и прочих служебных задач.
Каждое сообщение HTTP состоит из начальной (стартовой) строки, в которой указан тип сообщения, заголовка, который определяет различные технические параметры, и основной части (тела), которая представляет из себя содержательную часть сообщения.
Протокол HTTP использует стандарт MIME (Multipuprose Internet Mail Extensions), который дает возможность в рамках одного сообщения передавать данные одного типа в рамках одного сообщения. Это достигается за счет применения специальных меток-контейнеров, причем совершенно не обязательно они должны быть размещены последовательно – можно создать иерархию элементов.
Другие протоколы
Несмотря на свою распространенность и широкую сферу применения, HTTP не считается универсальным протоколом. Примерами концептуально схожих с HTTP протоколов, имеющих свои специализации, являются:
FTP (File Transfer Protocol) – протокол, ориентированный на передачу файлов по сети. В отличие от HTTP основан на сессиях работы (а не на дискретных транзакциях), имеет встроенную систему аутентификации пользователей и нацелен на передачу больших объемов данных;
SMTP (Simple Mail Transfer Protocol) – протокол, используемый для отсылки e-mail сообщений на почтовые сервера.
Похожие публикации:
- bratanry
- 12-12-2018, 10:32
- 848