Протокол http
HTTP (англ. HyperText Transfer Protocol — «протокол передачи гипертекста») — протокол прикладного уровня передачи данных. HTTP в настоящее время повсеместно используется для получения информации с веб-сайтов. В 2006 году в Северной Америке доля HTTP-трафика превысила долю P2P-сетей и составила 46%, из которых почти половина — это передача потокового видео и звука.
Основным объектом манипуляции в HTTP является ресурс, на который указывает URI (англ. Uniform Resource Identifier) в запросе клиента.
HTTP — протокол прикладного уровня. Обмен сообщениями идёт по обыкновенной схеме «запрос-ответ».
В отличие от многих других протоколов, HTTP не сохраняет своего состояния. Это означает отсутствие сохранения промежуточного состояния между парами «запрос-ответ».
Компоненты, использующие HTTP (браузер и сервер), могут самостоятельно осуществлять сохранение информации о состоянии, связанной с последними запросами и ответами. Браузер, посылающий запросы, может отслеживать задержки ответов. Сервер может хранить IP-адреса и заголовки запросов последних клиентов. Однако сам протокол не осведомлён о предыдущих запросах и ответах, в нём не предусмотрена внутренняя поддержка состояния, к нему не предъявляются такие требования.
Все программное обеспечение для работы с протоколом HTTP разделяется на три основные категории:
Серверы - поставщики услуг хранения и обработки информации (обработка запросов).
Клиенты - конечные потребители услуг сервера (отправка запросов).
Прокси-серверы для поддержки работы транспортных служб.
Основными клиентами являются браузеры например: Internet Explorer, Opera, Mozilla Firefox, Netscape Navigator и другие. Наиболее популярными реализациями веб-серверов являются: Internet Information Services (IIS), Apache, lighttpd, nginx. Наиболее известные реализации прокси-серверов: Squid, UserGate, Multiproxy, Naviscope.
"Классическая" схема HTTP-сеанса выглядит так.
Установление TCP-соединения.
Запрос клиента.
Ответ сервера.
Разрыв TCP-соединения.
Таким образом, клиент посылает серверу запрос, получает от него ответ, после чего взаимодействие прекращается. Обычно запрос клиента представляет собой требование передать HTML-документ или какой-нибудь другой ресурс, а ответ сервера содержит код этого ресурса.
В состав HTTP-запроса, передаваемого клиентом серверу, входят следующие компоненты.
Строка состояния (иногда для ее обозначения используют также термины строка-статус, или строка запроса).
Поля заголовка.
Пустая строка.
Тело запроса.
Строку состояния вместе с полями заголовка иногда называют также заголовком запроса.
Рисунок 1. Структура HTTP запроса клиента
- Основы www-технологии Введение
- Глава 1 – World Wide Web
- Структура и принципы Всемирной паутины
- Перспективы развития Всемирной паутины
- Способы отображения информации во Всемирной паутине
- Глава 2 – Современные Web технологии
- Протокол http
- Url(UniformResourceLocator)
- Язык гипертекстовой разметки html
- Xml(ExtensibleMarkupLanguage)
- Css(CascadingStyleSheets)
- Клиентские сценарии и приложения
- Javascript
- VbScript
- Java-апплеты
- Xaml и Microsoft Silverlight
- Серверные веб-приложения
- Стандарт cgi
- Заключение
- Список источников