В этой статье мы обсудим несколько важных параметров протокола 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 сообщения.