Скачиваний:
20
Добавлен:
18.07.2023
Размер:
134.26 Кб
Скачать

Основные возможности 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.