русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

ПРОТОКОЛ HTTP


Дата добавления: 2015-08-06; просмотров: 717; Нарушение авторских прав


Протокол передачи гипертекста HTTP (Hypertext Transfer Protocol) предназначен для передачи гипертекстовых документов от сервера к клиенту. Протокол HTTP относится к протоколам прикладного уровня. Согласно RFC, транспортным протоколом для него должен быть протокол с установлением соединения, надежной передачей данных и без сохранения границ между сообщениями. На практике в подавляющем большинстве случаев транспортным протоколом для HTTP является протокол TCP, причем сервер HTTP (сервер Web) находится в состоянии ожидания соединения со стороны клиента стандартно по порту 80 TCP, а клиент HTTP (браузер Web) является инициатором соединения.

В терминах Web все, к чему может получить доступ пользователь, – документы, изображения, программы, – называется ресурсами. Каждый ресурс имеет уникальный для Web адрес, называемый универсальным идентификатором ресурса (URI – Universal Resource Identifier). В самом общем случае URI выглядит следующим образом:

protocol://user:password@host:port/path/file?paremeters#fragment

Отдельные поля URI имеют следующий смысл:

protocol - прикладной протокол, посредством которого получают доступ к ресурсу;

user - пользователь, от имени которого получают доступ к ресурсу либо сам пользователь в качестве ресурса;

password - пароль пользователя для аутентификации при доступе к ресурсу;

host - IP-адрес или имя сервера, на котором расположен ресурс;

port - номер порта, на котором работает сервер, предоставляющий доступ к ресурсу;

path - путь к файлу, содержащему ресурс;

file - файл, содержащий ресурс;

parameters - параметры для обработки ресурсом-программой;

fragment - точка в файле, начиная с которой следует отображать ресурс.

Взаимодействие между клиентом и сервером Web осуществляется путем обмена сообщениями. Сообщения HTTP делятся на:



- запросы клиента серверу;

- ответы сервера клиенту.

Сообщения запроса и ответа имеют общий формат.

Оба типа сообщений выглядят следующим образом:

1. сначала идет начальная строка (start-line),

2. затем, возможно, одно или несколько полей заголовка, называемых, также, просто заголовками,

3. затем пустая строка (то есть строка, состоящая из символов CR и LF), указывающая конец полей заголовка,

4. а затем, возможно, тело сообщения.

Формат начальной строки клиента и сервера различаются и будут рассмотрены далее.

Заголовки бывают четырех видов:

1. общие заголовки (general-headers), которые могут присутствовать как в запросе, так и в ответе;

2. заголовки запросов (request-headers), которые могут присутствовать только в запросе;

3. заголовки ответов (response-headers), которые могут присутствовать только в ответе;

4. заголовки объекта (entity-headers), которые относятся к телу сообщения и описывают его содержимое.

Каждый заголовок состоит из названия, символа двоеточия ":" и значения. Наиболее важные заголовки приведены в табл. 1.

Таблица 1 - Заголовки протокола HTTP
Заголовок Назначение
Заголовки объекта
Allow Перечисляет поддерживаемые сервером методы
Content-Encoding Способ, которым закодировано тело сообщения, например, с целью уменьшения размера
Content-Length Длина сообщения в байтах
Content-Type Тип содержимого и, возможно, некоторые параметры
ETag Уникальный тэг ресурса на сервере, позволяющий сравнивать ресурсы
Expires Дата и время, когда ресурс на сервере будет изменен, и его нужно получать заново
Last-Modified Дата и время последней модификации содержимого
Заголовки ответа
Age Число секунд, через которое нужно повторить запрос для получения нового содержимого
Location URI ресурса, к которому нужно обратиться для получения содержимого
Retry-After Дата и время или число секунд, через которое нужно повторить запрос, чтобы получить успешный ответ
Server Название программного обеспечения сервера, приславшего ответ
Заголовки запроса
Accept Типы содержимого, которое "понимает" клиент и может воспроизвести
Accept-Charset Кодировки символов, в которых клиент может принимать текстовое содержимое
Accept-Encoding Способ, которым сервер может закодировать сообщение  
Host Хост и номер порта, с которого запрашивается документ
If-Modified-Since If-Match If-None-Match If-Range If-Unmodified-Since Заголовки запроса для условного обращения к ресурсу
Range Запрос части документа
User-Agent Название программного обеспечения клиента
Общие заголовки
Connection Указывает серверу на завершение (close) или продолжение (keep-alive) сеанса
Date Дата и время формирования сообщения
Pragma Специальные, зависящие от реализации команды, касающиеся передаваемого содержимого
Transfer-Encoding Способ кодирования сообщения при передаче

В теле сообщения содержится собственно передаваемая информация – полезная нагрузка сообщения. Тело сообщения представляет собой последовательность октетов (байтов). Тело сообщения может быть закодировано, например, для уменьшения объема передаваемой информации, при этом способ кодирования указывается в заголовке объекта Content-Encoding.



<== предыдущая лекция | следующая лекция ==>
 | Что характеризует эру информатизации?


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.101 сек.