Содержание
Перечень субъектов коммуникации
Перечень кодировок содержимого
Глоссарий
authority
авторитетный источник; первоисточник
служба; центр; источник; администрация; ответственная организация
В контексте URL/URI данный термин следует понимать как имя/идентификатор, выданный ответственной организацией.
character set
набор символов
content encoding
кодирование содержимого; кодировка содержимого
content negotiation
согласование содержимого
chunked transfer encoding
порционная трансферная кодировка
downstream
по направлению трафика, по трафику; ниже; нижестоящий
downstream flow
нисходящий поток (данных)
end-to-end
сквозной (относящийся только к конечным точкам соединения, не к посредникам)
entity-body
объект; сущность-тело; содержимое
extension transfer-coding
расширенная трансферная кодировка (любая кодировка за исключением порционной)
framework
порядок (действий); модель; подход
hop-by-hop
несквозной (относящийся ко всем точкам соединения)
hostname
имя узла сети
inbound message
входящее сообщение
loopback diagnostic
кольцевая проверка
media range
диапазон медиатипов
media type
медиатип
offset
смещение
origin server
сервер назначения
outbound message
исходящее сообщение
packet-switched network protocol
протокол сети с пакетной коммутацией
quality factor
коэффициент значимости
revalidation
перепроверка
semantics
значение (указание, инструкция, предписание)
shared cache
кэширующий прокси-сервер общего пользования
token
имя
transfer encoding
трансферная кодировка
track
подход, модель
standarts track — стандартная модель (интернет-стандарт)
upstream
в направлении, противоположном трафику, против трафика; выше; вышестоящий
upstream flow
восходящий поток (данных)
URL
унифицированный ресурсный указатель
validation
проверка
Перечень элементов
Входящее сообщение (inbound message)
Сообщение, отправляемое клиентом серверу.
Заголовок сообщения
Часть сообщения, содержит поля. Бывают заголовки запроса и заголовки ответа. Заголовок оканчивается пустой строкой.
Запрос
Http-сообщение, посылаемое клиентом серверу.
Идентификатор ресурса (URI)
Имя ресурса, по которому он доступен.
Имя хоста
Алиас для IP-адреса.
Исходящее сообщение (outbound message)
Сообщение, отправляемое сервером клиенту.
Клиент
Субъект коммуникации, отправляющий запрос на сервер и ждущий от него ответа.
Код состояния
Числовой код, сообщающий клиенту результат запроса. Содержится в стартовой строке ответа.
Кэширование
Медиатип
Тип и формат содержимого, на основе которого клиент принимает решение о способе его обработки.
Метод
Команда http-запроса. Метод сообщает серверу, что нужно сделать с ресурсом.
Объект (Entity-body)
Сущность, содержащаяся в ресурсе и передаваемая в теле сообщения.
Ответ
Http-сообщение, посылаемое сервером в ответ на запрос.
Поле заголовка
Часть заголовка имеющая имя и значение. Содержит различную метаинформацию о сообщении. Заголовок сообщения может содержать несколько полей.
Порт
Элемент протокола TCP, идентифицируемый номером системный ресурс, выделяемый приложению, работающему на некотором сетевом хосте.
Поясняющая фраза
Часть стартовой строки ответа, поясняющая код состояния.
Репрезентация
Форма представления содержимого.
Ресурс
Контейнер (файл), либо служба (программа), имеющие уникальный идентификатор (URI).
Сеанс
Отрезок времени, в течении которого происходит непрерывный обмен информацией между клиентом и сервером.
Сервер
Субъект коммуникации, получающий запрос от клиента и посылающий ему ответ.
Согласование содержимого
Содержимое
Информация, полезная для пользователя (данные). Может содержаться в контейнере, либо генерироваться службой по запросу. Может иметь несколько репрезентаций.
Сообщение
Объект коммуникации. Содержит стартовую строку, заголовок и тело.
Стартовая строка
Часть сообщения, описывающая его.
Тело сообщения
Часть сообщения, содержащее объект с данными.
Транзакция
Операция обмена информацией между клиентом и сервером, состоящая из одного запроса и одного ответа.
Перечень методов
DELETE
Удалить указанный ресурс.
GET
Передать объект, содержащийся в запрашиваемом ресурсе.
HEAD
Передать объектные заголовки для объекта, содержащегося в запрашиваемом ресурсе.
OPTIONS
Возвратить заголовки ответа для запрашиваемого ресурса, описывающие действия, возможные для осуществления с ним.
PATCH
Обновить фрагмент объекта в названном ресурсе.
POST
Создать ресурс, поместить в него переданный объект.
PUT
Поместить переданный объект в названный ресурс.
TRACE
Возвратить объект, содержащий заголовки запроса, передаваемые в исходном сообщении.
Свойства методов
Безопасность (safety)
Свойство метода осуществлять действия, не изменяющие ресурс.
Идемпотентность (idempotency)
Свойство метода осуществлять действия, однократное выполнение которых приводит к тем же результатам, что и многократное.
Перечень субъектов коммуникации
Agent (Агент)
Агент — это вид клиентского приложения, способного отправлять запросы от лица пользователя.
Cache (Кеширующий прокси-сервер)
Кеширущий прокси-сервер — это прокси-сервер, управляющий локальным хранилищем часто запрашиваемых клиентом ресурсов.
Client (Клиент)
Клиент — это сетевое приложение, способное отправлять запросы на сервера и принимать ответы от них.
Forward proxy (прямой прокси-сервер)
Прямой прокси-сервер — это прокси-сервер, ретранслирующий запросы клиентов из внутренней сети на сервера внешней сети.
Gateway (HTTP-шлюз)
Http-шлюз — это прокси-сервер, позволяющая клиентам запрашивать по протоколу HTTP ресурсы, находящиеся на серверах, работающих по другим протоколам.
Open proxy (открытый прокси-сервер)
Открытый прокси-сервер — это прокси-сервер, ретранслирующий запросы клиентов из внешней сети на сервера внешней сети.
Proxy (Прокси-сервер)
Прокси-сервер — это программа-посредник, находящаяся между клиентом и сервером и используемая для решения различных вспомогательных задач.
Reverse proxy (обратный прокси-сервер)
Обратный прокси-сервер — это прокси-сервер, ретранслирующий запросы клиентов из внешней сети на сервера внутренней сети.
Server (Сервер)
Сервер — это сетевое приложение, способное принимать запросы от клиентов и отправлять им ответы.
Tunnel (Туннель)
Туннель — это приложение, позволяющее передавать данные по одному протоколу, используя инфраструктуру другого.
URL
<схема>://<логин>:<пароль>@<хост>:<порт>/<путь>;<параметр>?<запрос>#<фрагмент>
Схема
Часть ресурсного указателя, определяющая формат описания месторасположения ресурса.
Логин
Часть ресурсного указателя, определяющая имя учетной записи для которой открыт доступ к ресурсу на удаленном компьютере.
Пароль
Часть ресурсного указателя, определяющая пароль указанной учетной записи на удаленном компьютере, для владельца которой открыт доступ к указанному ресурсу.
Хост
Часть ресурсного указателя, определяющая имя или ip-адрес компьютера в сети, на котором хранится указанный ресурс.
Порт
Часть ресурсного указателя, идентифицирующая системный ресурс на удаленном компьютере, выделенный приложениию, которое имеет доступ к указанному ресурсу.
Путь
Часть ресурсного указателя, указывающая местоположения ресурса на удаленном компьютере. Путь может состоять из нескольких частей. Такие части называются сегменты. Сегменты разделяются символами «/» (слеш).
Параметр
Часть ресурсного указателя, указывающая приложению на удаленном компьютере различную дополнительную информацию относительно хранящегося ресурса. Параметр представляет из себя пару имя-значение, разделенную символом «=» (равно). Каждый сегмент пути может иметь один или несколько параметров. Параметры отделяются от сегмента и друг от друга символом «;» (точка с запятой).
Запрос
Часть ресурсного указателя, позволяющая уточнить информацию по запрашиваемому ресурсу (например, при запросе некоторого списка сократить его размер на основе переданных критериев). Запрос может иметь произвольный формат.
Фрагмент
Часть ресурсного указателя, указывающая на часть комплексного ресурса. Фрагмент не передается в запросе, а используется клиентским приложением для ссылки.
Свойства URL
Портируемость (portability)
Данное свойство предполагает возможность передачи URL посредством множества протоколов. Реализуется посредством использования ограниченного набора символов, понимаемых большинством программ, использующих ресурсные локаторы в своей работе.
Читаемось (readability)
Данное свойство предполагает возможность прочтения URL людьми. Реализуется посредством запрета использования невидимых символов в ресурсных локаторах.
Завершенность (completeness)
Данное свойство предполагает, что URL может содержать большой объем символов. Реализуется посредством механизма управляющих символов в составе ресурсного локатора. Данный механизм является компромисом в реализации портируемости без ущерба для завершенности.
Формы URL
Каноническая (Canonical)
Форма, в которой используются только символы входящие в алфавит URL. Такая форма гарантирует, что данный ресурсный указатель будет понятен подавляющему большинству существующих приложений.
Неканоническая
Форма, в которой используются символы не входящие в алфавит URL. Такая форма, хотя и будет понятна некоторым существующим приложениям, останется неясной для подавляющего их большинства. Клиентские приложения должны кодировать подобные символы, используя управляющий механизм URL.
Относительный URL
Относительный URL
Компактная форма URL, исключающая схему и имя хоста, и состоящая только из пути. Упрощает составление документа, содержащего ресурсные указатели, а так же улучшает портируемость группы связанных ресурсов.
Базовый URL
URL ресурса, содержащего документ с относительным URL. Служит контекстом для последнего.
Перечень параметров
byte-range (байтовый диапазон)
Определяет последовательность байт, являющихся частью некоторой сущности.
ranges-specifier = byte-ranges-specifier
byte-ranges-specifier = byte-unit "=" byte-range-set
byte-range-set = 1#(byte-range-spec | suffix-byte-range-spec)
byte-range-spec = first-byte-pos "-" [last-byte-pos]
first-byte-pos = 1*DIGIT
last-byte-pos = 1*DIGIT
suffix-byte-range-spec = "-" suffix-length
suffix-length = 1*DIGIT
Примеры:
bytes=0-499 ;первые 500 байт
bytes=500-999 ;вторые 500 байт
bytes=-500 ;последние 500 байт
bytes=9500- ;последние 500 байт, при размере сущности равной 10000 байт
bytes=0-0,-1 ;первый и последние байты
charset (набор символов)
Определяет метод, служащий для преобразования последовательности октетов в последовательность символов.
charset = token
token репрезентует зарегестрированный IANA набор символов. Список допустимых токенов доступен в RFC 1700 [RFC 1700. Assigned Numbers (Page 101, CHARACTER SETS)].
content-coding (кодировка содержимого)
Определяет метод шифрования содержимого.
content-coding = token
token репрезентует зарегестрированный IANA метод. В настоящий момент реестр содержит следущие токены: gzip, compress, deflate, identity.
delta-seconds (временна́я разница)
Определяет время, прошедшее с некоторого события, произошедшего в рамках http-коммуникации.
delta-seconds = 1*DIGIT
entity-tag (сущностный тэг)
Используется при сравнении объектов, относящихся ко одному и тому же ресурсу.
entity-tag = [weak] opaque-tag
weak = "W/"
opaque-tag = quoted-string
HTTP-date (дата HTTP)
Определяет дату и время того или иного события в рамках http-коммуникации.
HTTP-date = rfc1123-date | rfc850-date | asctime-date
rfc1123-date = wkday "," SP date1 SP time SP "GMT"
rfc850-date = weekday "," SP date2 SP time SP "GMT"
asctime-date = wkday SP date3 SP time SP 4DIGIT
date1 = 2DIGIT SP month SP 4DIGIT ;day month year (e.g., 02 Jun 1982)
date2 = 2DIGIT "-" month "-" 2DIGIT ;day-month-year (e.g., 02-Jun-82)
date3 = month SP (2DIGIT | (SP 1DIGIT)) ;month day (e.g., Jun 2)
wkday = "Mon" | "Tue" | "Wed" | "Thu" | "Fri" | "Sat" | "Sun"
weekday = "Monday" | "Tuesday" | "Wednesday" | "Thursday" | "Friday" | "Saturday" | "Sunday"
month = "Jan" | "Feb" | "Mar" | "Apr" | "May" | "Jun" | "Jul" | "Aug" | "Sep" | "Oct" | "Nov" | "Dec"
Примеры:
Sun, 06 Nov 1994 08:49:37 GMT
Sunday, 06-Nov-94 08:49:37 GMT
Sun Nov 6 08:49:37 1994
language-tag (языковой тэг)
language-tag = primary-tag *("-" subtag)
primary-tag = 1*8ALPHA
subtag = 1*8ALPHA
product (продукт)
Является идентификатором субъекта коммуникации.
product = token ["/" product-version]
product-version = token
Примеры:
User-Agent: CERN-LineMode/2.15 libwww/2.17b3
Server: Apache/0.8.4
qvalue (коэффициент значимости)
Служит относительным показателем важности некоторого параметра.
qvalue = ("0" ["." 0*3DIGIT]) | ("1" ["." 0*3("0")])
range-unit (единица измерения диапазона)
Определяет единицу измерения диапазона.
range-unit = bytes-unit | other-range-unit
bytes-unit = "bytes"
other-range-unit = token
transfer-coding (трансферная кодировка)
Определяет метод трансферного шифрования.
transfer-coding = "chunked" | transfer-extension
transfer-extension = token *(";" parameter)
parameter = attribute "=" value
attribute = token
value = token | quoted-string
Перечень кодов состояния
100 Continue
101 Switching Protocols
200 OK
201 Created
202 Accepted
203 Non-Authoritative Information
204 No Content
205 Reset Content
206 Partial Content
300 Multiple Choices
301 Moved Permanently
302 Found
303 See Other
304 Not Modified
305 Use Proxy
307 Temporary Redirect
400 Bad Request
401 Unauthorized
402 Payment Required
403 Forbidden
404 Not Found
405 Method Not Allowed
406 Not Acceptable
407 Proxy Authentication Required
408 Request Timeout
409 Conflict
410 Gone
411 Length Required
412 Precondition Failed
413 Request Entity Too Large
414 Request-URI Too Long
415 Unsupported Media Type
416 Requested Range Not Satisfiable
417 Expectation Failed
500 Internal Server Error
501 Not Implemented
502 Bad Gateway
503 Service Unavailable
504 Gateway Timeout
505 HTTP Version Not Supported
Типы полей заголовка
Общие (General header fields)
Поля, которые могут быть использованы как в заголовке запроса, так и ответа.
Поля запроса (Request header fields)
Поля, которые могут быть использованы только в заголовке запроса.
Поля ответа (Response header fields)
Поля, которые могут быть использованы только в заголовке ответа.
Объектные поля (Entity header fields)
Поля определяющие объект, передаваемый в теле сообщения.
Поля, расширяющие стандарт (Extension header fields)
Нестандартные поля, расширяющие HTTP.
Перечень полей заголовка
Accept [request]
Определить приемлемые медиатипы для запрашиваемого объекта.
Accept = "Accept" ":" #(media-range [accept-params])
media-range = ("*/*" | (type "/" "*") | (type "/" subtype)) *(";" parameter)
accept-params = ";" "q" "=" qvalue *(accept-extension)
accept-extension = ";" token ["=" (token | quoted-string)]
Примеры:
Accept: text/html
Accept: text/html;level=1
Accept: text/html;level=1;q=0.5, text/html;level=2;q=0.7, text/html
Accept: */*
Accept: text/*
Accept-Charset [request]
Определить приемлемые наборы символов для запрашиваемого объекта.
Accept-Charset = "Accept-Charset" ":" 1#((charset | "*")[ ";" "q" "=" qvalue])
Пример:
Accept-Charset: iso-8859-5, unicode-1-1;q=0.8
Accept-Encoding [request]
Определить приемлемые типы кодировки содержимого.
Accept-Encoding = "Accept-Encoding" ":" 1#(codings [";" "q" "=" qvalue])
codings = (content-coding | "*")
Примеры:
Accept-Encoding: *
Accept-Encoding: compress, gzip
Accept-Encoding: compress;q=0.7, gzip;q=1.0
Accept-Language [request]
Определить естественные языки, приемлемые для запрашиваемого документа.
Accept-Language = "Accept-Language" ":" 1#(language-range [";" "q" "=" qvalue])
language-range = ((1*8ALPHA *("-" 1*8ALPHA)) | "*")
Примеры:
Accept-Language: da, en-gb;q=0.8, en;q=0.7
Authentication-Info [response]
-
Передать клиенту следующее окказиональное значение;
-
Передать клиенту хэш-сумму, вычисленную на серверной стороне.
Authorization [request]
Указать данные, необходимые для авторизации.
Authorization = "Authorization" ":" credentials
credentials = auth-scheme #auth-param
Примеры:
Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ== ; Base64 of "Aladdin:open sesame"
Authorization: Digest username="Aladdin",response="54ef36ec71201fdf9d1423fd26f97f6b" ; MD5 of "open sesame"
Cache-Control [request] [response]
Определить директивы, управляющие механизмом кэширования.
Cache-Control = "Cache-Control" ":" 1#cache-directive
cache-directive = cache-request-directive | cache-response-directive
cache-request-directive = "no-cache"
| "no-store"
| "max-age" "=" delta-seconds
| "max-stale" ["=" delta-seconds]
| "min-fresh" "=" delta-seconds
| "no-transform"
| "only-if-cached"
| cache-extension
cache-response-directive = "public"
| "private" ["=" <"> 1#field-name <">]
| "no-cache" ["=" <"> 1#field-name <">]
| "no-store"
| "no-transform"
| "must-revalidate"
| "proxy-revalidate"
| "max-age" "=" delta-seconds
| "s-maxage" "=" delta-seconds
| cache-extension
cache-extension = token ["=" (token | quoted-string)]
Connection [request] [response]
Показать, что текущее соединение будет закрыто отправителем по завершению отправки текущего сообщения.
Указать поля заголовков, относящихся только к текущему соединению.
Connection = "Connection" ":" "close" | 1#(connection-token)
connection-token = token
Примеры:
Connection: Upgrade
Connection: TE
Connection: close
Date [request] [response]
Указать дату создания сообщения.
Date = "Date" ":" HTTP-date
Примеры:
Date: Tue, 15 Nov 1994 08:12:31 GMT
Expect [request]
Определить действия, необходимые для выполнения на сервере.
Expect = "Expect" ":" 1#expectation
expectation = "100-Continue" | expectation-token
expectation-token = token ["=" (token | quoted-string) *expect-params]
expect-params = ";" token ["=" (token | quoted-string)]
From [request]
Указать адрес электронной почты персоны, от лица которой выполняются http-запросы.
From = "From" ":" mailbox
Пример:
From: <name@domain.net>
Host [request]
Определить хост и порт сервера хранящего запрашиваемый ресурс.
Host = "Host" ":" host [":" port]
Пример:
Host: www.w3.org
If-Match [request]
Проверить, какая из содержащихся в кэше сущностей является текущей действительной репрезентацией запрашиваемого ресурса.
If-Match = "If-Match" ":" ("*" | 1#entity-tag)
Примеры:
If-Match: "xyzzy"
If-Match: "xyzzy", "r2d2xxxx", "i3piozzzz"
If-Match: *
If-Modified-Since [request]
Проверить, был ли изменен документ, содержащийся в запрашиваемом ресурсе со времени, указанном в значении данного поля.
If-Modified-Since = "If-Modified-Since" ":" HTTP-date
Пример:
If-Modified-Since: Sat, 29 Oct 1994 19:43:31 GMT
If-None-Match [request]
Убедиться, что ни одна из содержащихся в кэше сущностей не является текущей действительной репрезентацией запрашиваемого ресурса.
If-None-Match = "If-None-Match" ":" ("*" | 1#entity-tag)
Пример:
If-None-Match: "xyzzz"
If-None-Match: W/"xyzzz"
If-None-Match: "xyzzz", "r2d2xxxx", "c3piozzzz"
If-None-Match: W\"xyzzz", W\"r2d2xxxx", W\"c3piozzzz"
If-None-Match: *
If-Range [request]
Убедиться, что запрашиваемый байтовый диапазон является частью той сущности, частичная копия которой содержится в кэше клиента.
If-Range = "If-Range" ":" (entity-tag | HTTP-date)
If-Unmodified-Since [request]
Проверить, что содержащийся в кэше документ не был изменен с момента, указанного в значении данного поля.
If-Unmodified-Since = "If-Unmodified-Since" ":" HTTP-date
Пример:
If-Unmodified-Since: Sat, 29 Oct 1994 19:43:31 GMT
Pragma [request] [response]
Включить директиву, понимаемую некоторой специфичной реализацией протокола.
Pragma = "Pragma" ":" 1#pragma-directive
pragma-directive = "no-cache" | extension-pragma
extension-pragma = token ["=" (token | query-string)]
Referer [request]
Указать идентификатор ресурса, содержащего документ с сылкой на текущий запрашиваемый ресурс.
Referer: "Referer" ":" (absoluteURI | relativeURI)
Referer: http://www.w3.org/hypertext/DataSources/Overview.html
Range [request]
Определить диапазон сущности, содержащейся в запрашиваемом ресурсе, в частичном запросе.
Range = "Range" ":" ranges-specifier
Пример:
Range: bytes=0-499,-500
Server [response]
Trailer [request] [response]
Определить поля заголовка, присутствующие в трейлере сообщения, зашифрованного с помощью порционной трансферной кодировки.
Trailer = "Trailer" ":" 1#field-name
TE [request]
Определить приемлемые типы расширенной трансферной кодировки.
Выразить желание принимать поля заголовков в трейлере, при использовании порционной трансферной кодировки.
TE = "TE" ":" #(t-codings)
t-codings = "trailers" | (transfer-extension [accept-params])
Примеры:
TE: trailers, deflate;q=0.5, gzip;q=0.2
Transfer-Encoding [request] [response]
Определить используемые типы трансферной кодировки.
Transfer-Encoding = "Transfer-Encoding" ":" 1#transfer-coding
Upgrade [request] [response]
В запросе: определить приемлемые протоколы прикладного уровня.
В ответе: определить используемые протоколы прикладного уровня.
Upgrade = "Upgrade" ":" 1#product
Примеры:
Upgrade: HTTP/2.0, SHTTP/1.3, IRC/6.9, RTA/x11
User-Agent [request]
Определить тип и версию используемого клиентского программного обеспечения.
User-Agent = "User-Agent" ":" 1*(product | comment)
Примеры:
User-Agent: CERN-LineMode/2.15 libwww/2.17b3
Via [request] [response]
Определить названия промежуточных субъектов коммуникации, а так же названия и версии протоколов используемых ими.
Via = "Via" ":" 1#(received-protocol received-by [comment])
received-protocol = [protocol-name "/"] protocol-version
protocol-name = token
protocol-version = token
received-by = (host [":" port]) | pseudonym
pseudonym = token
Примеры:
Via: 1.0 fred, 1.1 nowhere.com (Apache/1.1)
WWW-Authenticate [response]
Задать требование, необходимое для аутентификации.
WWW-Authenticate = "WWW-Authenticate" ":" challenge
challenge = auth-scheme 1*SP 1#auth-param
auth-scheme = token
auth-param = token "=" (token | quoted-string)
Примеры:
WWW-Authenticate: Basic realm="WallyWord"
Перечень кодировок содержимого
compress
Содержимое было закодированно с использованием алгоритма LZW.
deflate
Содержимое было закодированно с использованием алгоритма Deflate, представляющим из себя комбинацию LZ77 и алгоритма Хаффмана.
gzip
Содержимое было закодированно с использованием алгоритма LZ77.
identity
Содержимое не было закодированно.
Перечень директив кэширования
Директивы кэширования могут относиться к следующим сущностям в рамках механизма кэширования:
-
к субъекту
-
к объекту
-
к свойствам субъекта
-
к свойствам объекта
Директивы кэширования могут изменять следующие механизмы работы кэша:
-
сохранение в кэше
-
извлечение из кэша
-
перепроверка
-
перезагрузка
-
трансформацию
Объект кэширования имеет следующие свойства:
-
действительность (validity)
-
срок годности (expiration time)
-
возраст (age)
Директивы запроса
max-age
Сообщение должно быть извлечено из кэша только в том случае, если оно действительно и его возраст не превышает величины, указанной в значении данной директивы.
min-fresh
Сообщение должно быть извлечено из кэша только в том случае, если сумма его возраста и величины, указанной в значении данной директивы, не превышает срока его годности.
max-stale
Сообщение должно быть извлечено из кэша только в том случае, если сумма срока его годности и величины, указанной в значении данной директивы, не превышает его возраста.
no-cache
Сообщение должно быть загружено с сервера.
only-if-cached
Сообщение должно быть извлечено из кэша.
no-store
Сообщение не должно быть сохранено в кэше ни при каких обстоятельствах.
no-transform
Любой из аспектов сущности, содержащейся в теле сообщения, описываемый заголовками Content-Encoding, Content-Length, Content-Type, не должен изменяться при сохранении данного сообщения в кэше.
Директивы ответа
public
Сообщение может быть сохранено и в публичном, и в частном кэше.
private
Сообщение или его часть может быть сохранено только в частном кэше.
no-cache
Сообщение или его часть может быть сохранено в кэше, но оно не должно быть использовано при последующих запросах без предварительной проверки действительности.
no-store
Сообщение не должно быть сохранено в кэше ни при каких обстоятельствах.
max-age
Сообщение становится недействительным по истечении срока, указанного в значении данной директивы.
s-maxage
Сообщение, содержащееся в публичном кэше, становится недействительным по истечению срока, указанного в значении данной директивы.
must-revalidate
Сообщение не должно использоваться по истечению срока годности без предварительной проверки действительности.
proxy-revalidate
Сообщение, содержащиееся в публичном кэше, не должно использоваться по истечению срока годности без предварительной проверки действительности.
no-transform
Любой из аспектов сущности, содержащейся в теле сообщения, описываемый заголовками Content-Encoding, Content-Length, Content-Type, не должен изменяться при сохранении данного сообщения в кэше.
Перечень протоколов TCP/IP
TCP (Transmission Control Protocol)
Протокол транспортного уровня, обеспечивающий надежность передачи данных. Надежность предполагает получение данных без потерь, повреждений и в заданном порядке.
IP (Internet Protocol)
Протокол сетевого уровня, обеспечивающий передачу данных, но не гарантирующий надежность этой передачи. Данные, переданные с использованием этого протокола, могут быть потеряны, повреждены или получены не в заданном порядке.
Перечень инструментов
nc
telnet
wireshark
Ссылки
Заголовки HTTP. Байтовые диапазоны
Туннелирование (компьютерные сети)
RFC
RFC 822. STANDARD FOR THE FORMAT OF ARPA INTERNET TEXT MESSAGES
RFC 1123. Requirements for Internet Hosts – Application and Support
RFC 1738. Uniform Resource Locators (URL)
RFC 1766. Tags for the Identification of Languages
RFC 1808. Relative Uniform Resource Locators
RFC 2119. Key words for use in RFCs to Indicate Requirement Levels
RFC 2616. Hypertext Transfer Protocol – HTTP/1.1
RFC 2617. HTTP Authentication: Basic and Digest Access Authentication
RFC 3040. Internet Web Replication and Caching Taxonomy
RFC 3986. Uniform Resource Identifier (URI): Generic Syntax
RFC 5789. PATCH Method for HTTP