Студопедия

КАТЕГОРИИ:

АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция

HyperText Transfer Protocol (HTTP)




HyperText Transfer Protocol (HTTP) – это протокол уровня приложений, предназначен обеспечивать необходимую скорость передачи данных, требующуюся для распределенных информационных систем гипермедиа. HTTP используется проектом World Wide Web с 1990 года.

Практические информационные системы требуют большего, чем примитивный поиск, модификация и аннотация данных. HTTP/1.0 предоставляет открытое множество методов, которые могут быть использованы для указания целей запроса. Они построены на дисциплине ссылок, где для указания ресурса, к которому должен быть применен данный метод, используется Универсальный идентификатор ресурсов (Universal Resource Identifier – URI), в виде местонахождения (URL) или имени (URN). Формат сообщений сходен с форматом Internet Mail или Multipurpose Internet Mail Extensions (MIME – многоцелевое расширение почты Internet).

MIME означает Multipurpose Internet Mail Extensions (многоцелевые расширения почтового стандарта Internet). Этот стандарт описывает, как пересылать по электронной почте исполняемые, графические, мультимедийные, смешанные данные. Типичные применения MIME – пересылка графических изображений, аудио, документов Word, программ и даже просто текстовых файлов, то есть когда важно, чтобы в ходе пересылки не производилось никаких преобразований над данными. MIME также позволяет размечать письмо на части различных типов так, чтобы получатель (почтовая программа) мог определить, что делать с каждой из частей письма.

HTTP/1.0 используется также для коммуникаций между различными пользовательскими просмотрщиками и шлюзами, дающими гипермедиадоступ к существующим интернет-протоколам, таким как SMTP, NNTP, FTP, Gopher и WAIS. HTTP/1.0 разработан, чтобы позволять таким шлюзам – через proxy-серверы, без какой-либо потери – передавать данные с помощью упомянутых протоколов более ранних версий.

 



Общая структура

HTTP основывается на парадигме запросов / ответов. Запрашивающая программа (обычно она называется клиент) устанавливает связь с обслуживающей программой-получателем (обычно называется «сервер») и посылает запрос серверу в следующей форме: метод запроса, URI, версия протокола, за которой следует MIME-подобное сообщение, содержащее управляющую информацию запроса, информацию о клиенте и, может быть, тело сообщения.

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

В Internet коммуникации обычно основываются на TCP/IP-протоколах. Для WWW номер порта по умолчанию – TCP 80, но также могут быть использованы и другие номера портов – это не исключает возможности использовать HTTP в качестве протокола верхнего уровня.

Для большинства приложений сеанс связи открывается клиентом для каждого запроса и закрывается сервером после окончания ответа на запрос. Тем не менее это не является особенностью протокола. И клиент, и сервер должны иметь возможность закрывать сеанс связи, например, в результате какого-нибудь действия пользователя. В любом случае разрыв связи, инициированный любой стороной, прерывает текущий запрос, независимо от его статуса.

Данный протокол работает на основе TCP-соединения, и хотя формально это требование не является обязательным, на практике оно почти всегда выполняется. Это обусловлено тем, что в случае использования TCP ни браузеру, ни серверу не надо беспокоиться о потерянных данных и разбиении больших сообщений на части. Все это выполнят службы TCP-протокола.

Протокол HTTP разработан таким образом, что может использоваться не только в веб-технологиях, но и в других объектно-ориентированных приложениях.

 


Таблица 7.1

 


Встроенные методы HTTP-запросов

 

Метод Описание
GET Прочитать веб-страницу
HEAD Прочитать заголовок веб-страницы
PUT Сохранить веб-страницу
POST Добавить к веб-странице
DELETE Удалить веб-страницу
TRACE Отослать назад запрос
CONNECT Зарезервировано для будущего использования
OPTIONS Отобразить параметры

 

Метод GET запрашивает страницу (под страницей может подразумеваться любой объект, хотя на практике чаще всего это просто обычный файл), закодированную согласно стандарту MIME. Это наиболее часто употребляемый метод. Его структура следующая: GET имя_файла HTTP/1.1.

Метод HEAD запрашивает заголовок сообщения, причем сама страница не загружается. С помощью данного метода можно, например, узнать время последнего обновления страницы, что необходимо для управления кэшированием страниц. Кроме того, с помощью этого метода можно просто проверить работоспособность данного URL.

С помощью метода PUT можно поместить страницу на сервер. Тело этого запроса содержит размещаемую страницу, которая может быть закодирована согласно MIME. Метод требует идентификации пользователя.

POST является методом, добавляющим содержимое к уже имеющейся странице. Он может использоваться, например, для добавления записи на форуме.

Метод DELETE уничтожает страницу. Как и в методе PUT, здесь требуется аутентификация, подтверждающая права пользователя на данное действие.

TRACE указывает серверу отослать назад запрос и служит для отладки, позволяя узнать, не искажается ли запрос клиента, получаемый сервером.

Метод CONNECT зарезервирован и в настоящее время не используется.

При помощи OPTIONS клиент может запросить сервер о его свойствах или о свойствах какого-либо конкретного файла.

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

 

Таблица 7.2

 

Группы кодов состояния

 

Группа кода Тип Коды
1хх Готовность 100 – сервер готов обрабатывать запросы клиента
2хх Успех 200 – запрос успешно обработан 204 – содержимое отсутствует
3хх Перенаправление 301 – страница перемещена 304 – кэшированная страница все еще актуальна
4хх Ошибка клиента 403 – ошибка доступа 404 – страница не найдена
5хх Ошибка сервера 500 – внутренняя ошибка сервера 503 – указание предпринять попытку позднее

 

За строкой запроса могут следовать другие строки с дополнительной информацией (заголовками запросов), а за ответами – заголовки ответов (табл. 7.3).

 


Таблица 7.3

 










Последнее изменение этой страницы: 2018-05-10; просмотров: 207.

stydopedya.ru не претендует на авторское право материалов, которые вылажены, но предоставляет бесплатный доступ к ним. В случае нарушения авторского права или персональных данных напишите сюда...