Руководство по 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 сообщения.