
- •Основные возможности HTTP
- •HTTP
- •HTTP
- •Протокол http
- •Протокол http
- •"Классическая" схема HTTP-сеанса
- •Структура протокола http
- •Структура запроса клиента http
- •Методы запроса клиента
- •Методы запроса клиента
- •Поля заголовка запроса клиента
- •Поля заголовка запроса клиента
- •Пример запроса
- •Структура ответа сервера http
- •Структура ответа сервера http
- •Тело ответа веб-сервера
- •Тело ответа веб-сервера
- •Классы кодов ответа сервера
- •Примеры
- •Поля заголовка ответа веб-сервера
- •Тело ответа веб-сервера
- •Пример ответа веб-сервера
- •Поля заголовка if_modifed_since, last_modified, if_none_match, Etag
- •Поле Заголовка HOST
- •Структура URL
- •Структура URL
- •Порт TCP/IP
- •HTTPS
Основные возможности HTTP
Для ознакомления перед выполнением лабораторной работы
HTTP
•HTTP (англ. HyperText Transfer Protocol — «протокол передачи гипертекста»)
— протокол прикладного уровня передачи данных изначально — в виде гипертекстовых документов в формате «HTML», в настоящий момент используется для передачи произвольных данных. Основой HTTP является технология «клиент-сервер», то есть предполагается существование:
•Потребителей (клиентов), которые инициируют соединение и посылают запрос;
•Поставщиков (серверов), которые ожидают соединения для получения запроса, производят необходимые действия и возвращают обратно сообщение с результатом.
•HTTP в настоящее время повсеместно используется во Всемирной паутине для получения информации с веб-сайтов. В 2006 году в Северной Америке доля HTTP-трафика превысила долю P2P-сетей и составила 46 %, из которых почти половина — это передача потокового видео и звука.
•HTTP используется также в качестве «транспорта» для других протоколов прикладного уровня, таких как SOAP, XML-RPC, WebDAV.
2
HTTP
•В отличие от многих других протоколов, HTTP является протоколом без памяти. Это означает, что протокол не хранит информацию о предыдущих запросах клиентов и ответах сервера.
•Компоненты, использующие HTTP, могут самостоятельно осуществлять сохранение информации о состоянии, связанной с последними запросами и ответами.
–Клиентское веб-приложение, посылающее запросы, может отслеживать задержки ответов.
–Сервер может хранить IP-адреса и заголовки запросов последних клиентов.
Протокол http
•Всё программное обеспечение для работы
спротоколом HTTP разделяется на три основные категории:
–Серверы - поставщики услуг хранения и обработки информации (обработка запросов).
–Клиенты — конечные потребители услуг сервера (отправка запросов).
–Прокси-серверы для поддержки работы транспортных служб.
Протокол http
•Основными клиентами являются браузеры например: Google Chrome, Opera, Mozilla Firefox, и др.
•Наиболее известными реализациями веб- серверов являются: Internet Information Services (IIS), Apache, lighttpd, nginx.
•Наиболее известные реализации прокси- серверов: Squid, UserGate, Multiproxy, Naviscope.
"Классическая" схема HTTP-сеанса
1.Установление TCP-соединения.
2.Запрос клиента.
3.Ответ сервера.
4.Разрыв TCP-соединения.
•Таким образом, клиент посылает серверу запрос, получает от него ответ, после чего взаимодействие прекращается.
•Обычно запрос клиента представляет собой требование передать HTML-документ или какой-нибудь другой ресурс, а ответ сервера содержит код этого ресурса.
Структура протокола http
•Каждое HTTP-сообщение состоит из трёх частей, которые передаются в указанном порядке:
–Заголовок сообщения, который начинается со строки состояния, определяющей тип сообщения, и полей заголовка, характеризующих тело сообщения, описывающих параметры передачи и прочие сведения;
–Пустая строка;
–Тело сообщения — непосредственно данные сообщения.
•Поля заголовка и тело сообщения могут отсутствовать, но строка состояния является обязательным элементом, так как указывает на тип запроса/ответа.

Структура запроса клиента http
Запрос клиента
Заголовок
Строка состояния
Метод запроса |
URL ресурса |
Версия протокола |
|
HTTP |
|||
|
|
GET
POST res.ru/page.html HTTP/1.1 HEAD
Пустая Тело строка запроса
Поля
заголовка
Еще пример
GET /wiki/HTTP HTTP/1.0 Host: ru.wikipedia.org
Host:
www.example.com
Методы запроса клиента
•Метод, указанный в строке состояния, определяет способ воздействия на ресурс, URL которого задан в той же строке.
•Метод может принимать значения GET,
POST, HEAD, PUT, DELETE и др.
•Несмотря на обилие методов, для Web- программиста по-настоящему важны лишь два из них: GET и POST.
Методы запроса клиента
•GET. Согласно формальному определению, метод GET предназначается для получения ресурса с указанным URL. Получив запрос GET, сервер должен прочитать указанный ресурс и включить код ресурса в состав ответа клиенту. Ресурс, Несмотря на то что, по определению, метод GET предназначен для получения информации, он вполне подходит для передачи небольших фрагментов данных на сервер.
•POST. Согласно тому же формальному определению, основное назначение метода POST - передача данных на сервер. Однако, подобно методу GET, метод POST может применяться по-разному и нередко используется для получения информации с сервера. Как и в случае с методом GET, URL, заданный в строке состояния, указывает на конкретный ресурс.
•Методы HEAD и PUT являются модификациями методов GET и POST.