Руководство по HTTP. Параметры.

В этой статье мы обсудим несколько важных параметров протокола HTTP и как они используются при обмене данными (формат ссылки, формат даты и т.д.).

Это поможет нам строить свои запросы и ответы во время написания клиентских и серверных  HTTP программ. Мы увидим использование этих параметров в последующих статьях, посвящённых HTTP.


Версия HTTP

Для обозначения версии HTTP использует формат <основной>.<второстепенный> для обозначения версии протокола. Версия HTTP сообщения обозначается в поле HTTP-Version в первой строке. Вот как это выглядит на практике:


HTTP/1.0
========
HTTP/1.1

URL

URL (Uniform Resource Identifiers) имеют простой формат строки, который включает в себя имя, расположение, порт и т.д. для определения ресурса (веб-сайт, веб-сервис и т.д.)

По умолчанию используется порт 80, по он может быть изменён.

Вот пример URL:


http://proselyte.net:80/tutorials/

Формат времени и даты

В HTTP время и дата должны быть представлены во времени GMT (Greenwich Mean Time). Во всех случаях без исключений. HTTP допускает несколько представлений:


Tue Nov  16 12:57:37 2016       ; ANSI C's asctime() format
Tue, 16 May 2016 12:57:37 GMT  ; RFC 822, updated by RFC 1123
Tuesday, 16-May-16 12:57:37 GMT ; RFC 850, obsoleted by RFC 1036

Наборы символов

Для определения набора символов мы используем набор, предпочитаемый клиентом. Для использования нескольких наборов, наборы отделяются запятыми. По умолчанию используется набор US-ACSII.

Пример:


US-ASCII, ISO-8859-1, ISO-8859-7

Кодировка контента

Кодировка контента определяет алгоритм кодировки который использовался для его кодирования перед отправкой в сеть. Этот элемент используется для сжатия и передачи данных без потерь.

В HTTP/1.1 кодировка указывается в полях Accept-Encoding и Content-Encoding.

Пример:


Accept-encoding: compress
Accept-encoding: gzip
Accept-encoding: deflate

Типы медиа файлов

Тип медиа файлов обеспечивает типизацию данных и указывается в полях элемента header: Content-Type и Accept. Все значения типов медиа файлов зарегистрированы в IANA (Internet Assigned Number Authority).

Пример:


Accept: image/jpg

Метка языка

В HTTP метки языка указываются в полях Accept-Language и Content-Language элемента header. Метка состоит из одной или нескольких частей.

Пример:


ru, ru-Ru

Использование двух буквенной метки является аббревиатурой языка ISO-639 и любой двух буквенной под-метки – код страны ISO-3166.


На этом мы заканчиваем изучение параметров HTTP.

В следующей статье мы рассмотрим HTTP сообщения.