Типы оградительных сооружений в морском порту: По расположению оградительных сооружений в плане различают волноломы, обе оконечности...
Наброски и зарисовки растений, плодов, цветов: Освоить конструктивное построение структуры дерева через зарисовки отдельных деревьев, группы деревьев...
Топ:
Марксистская теория происхождения государства: По мнению Маркса и Энгельса, в основе развития общества, происходящих в нем изменений лежит...
Эволюция кровеносной системы позвоночных животных: Биологическая эволюция – необратимый процесс исторического развития живой природы...
Установка замедленного коксования: Чем выше температура и ниже давление, тем место разрыва углеродной цепи всё больше смещается к её концу и значительно возрастает...
Интересное:
Наиболее распространенные виды рака: Раковая опухоль — это самостоятельное новообразование, которое может возникнуть и от повышенного давления...
Инженерная защита территорий, зданий и сооружений от опасных геологических процессов: Изучение оползневых явлений, оценка устойчивости склонов и проектирование противооползневых сооружений — актуальнейшие задачи, стоящие перед отечественными...
Отражение на счетах бухгалтерского учета процесса приобретения: Процесс заготовления представляет систему экономических событий, включающих приобретение организацией у поставщиков сырья...
Дисциплины:
2017-11-27 | 198 |
5.00
из
|
Заказать работу |
|
|
HTTP использует схему нумерации "<major>.<minor>" для отображения версии протокола. Политика присвоения версии протоколу ориентирована на то, чтобы позволить отправителю указать формат сообщения и его емкость. Номер версии не меняется при добавлении компонент сообщения, которые не влияют на характер обмена.
Число <minor> увеличивается, когда в протокол внесены изменения, которые не изменили общий алгоритм разбора сообщений, но изменили семантику сообщений и добавили новые возможности отправителю. Число <major> увеличивается в случае, когда изменен формат протокольного сообщения.
Версия HTTP-сообщения указывается в поле HTTP-Version в первой строке сообщения.
HTTP Version = "http" "/" 1*DIGIT "." 1*DIGIT
Заметьте, что числа major и minor должны рассматриваться как независимые целые, так что каждое из них может быть увеличено за пределы одной цифры. Таким образом, HTTP/2.4 является более низкой версией, чем HTTP/2.13, которая, в свою очередь, ниже, чем HTTP/12.3. Начальные нули должны игнорироваться и не пересылаться.
Приложения, посылающие запросы или отклики так, как это определено в спецификации, должны включать HTTP-Version "HTTP/1.1". Использование этого номера версии указывает, что посылающее приложение совместимо с этой спецификацией.
Версия HTTP приложения является верхней, совместимость с которой гарантируется. Приложения проксисерверов и сетевых портов должны проявлять осторожность при переадресации сообщений с протокольной версией, отличной от поддерживаемой ими. Так как версия протокола указывает на возможности отправителя, прокси никогда не должны пересылать сообщения с версией больше, чем их собственная; если получено сообщение более высокой версии, прокси/порт должен либо понизить версию запроса, либо послать отклик об ошибке или переключиться в режим туннеля. Запросы с версией ниже, чем у прокси/порта, могут быть повышены при переадресации, при этом major часть версии сервера и запроса должны совпадать.
|
Преобразование между версиями может включать модификацию полей заголовка.
Универсальные идентификаторы ресурсов (URI)
URI известен под многими именами: WWW адрес, универсальный идентификатор документа (Universal Document Identifier), универсальный идентификатор ресурса (Universal Resource Identifier) и, наконец, универсальный локатор ресурса URL (Uniform Resource Locator) и универсальное имя ресурса (URN). Тождество URI и URL сомнительно, так как URL является частным случаем URI. Что касается HTTP, универсальный идентификатор ресурса представляет собой форматированную строку символов, которая идентифицирует имя, положение или какие-то еще характеристики ресурса.
Общий синтаксис
URI в HTTP может быть представлен в абсолютной или относительной форме по отношению к некоторому известному базовому URI, в зависимости от контекста его использования. Эти две формы отличаются тем, что абсолютный URI всегда начинается с имени схемы, за которым следует двоеточие (например, HTTP: или FTP:).
URI = (absoluteURI | relativeURI) [ "#" фрагмент ]
AbsoluteURI = схема ":" *(uchar | reserved)
RelativeURI = net_path | abs_path | rel_path
net_path = "//" net_loc [ abs_path ]
abs_path = "/" rel_path
rel_path = [ проход ] [ ";" params ] [ "?" query ]
path = fsegment *("/" сегмент)
fsegment = 1*pchar
segment = *pchar
params = param *(";" param)
param = *(pchar | "/")
scheme = 1*(ALPHA | DIGIT | "+" | "" | ".")
net_loc = *(pchar | ";" | "?")
query = *(uchar | reserved)
fragment = *(uchar | reserved)
pchar = uchar | ":" | "@" | "&" | "=" | "+"
uchar = unreserved | escape
unreserved = ALPHA | DIGIT | safe | extra | national
escape = "%" HEX HEX
reserved = ";" | "/" | "?" | ":" | "@" | "&" | "=" | "+"
extra = "!" | "*" | "'" | "(" | ")" | ","
safe = "$" | "" | "_" | "."
unsafe = CTL | SP | <"> | "#" | "%" | "<" | ">"
national = <любой OCTET, исключая ALPHA, DIGIT,
зарезервированный, extra, safe и unsafe>
|
Более детальную информацию о синтаксисе и семантике URL можно найти в RFC-1738 [7.4] и [7.11]. Приведенные выше BNF включают в себя национальные символы, недопустимые в URL, как это специфицировано в RFC- 1738, так как серверам HTTP не запрещено использование любых наборов символов, допустимых в rel_path частях адресов; HTTPпрокси могут получить запросы URI, не определенные в рамках RFC-1738.
Протокол HTTP не устанавливает каких-либо ограничений на длину URI. Серверы должны быть способны обрабатывать URI любых ресурсов, имеющих любую длину. Сервер должен выдать отклик 414 (Request-URI Too Long — URI запроса слишком длинен), если URI длиннее, чем может обработать сервер.
Серверы должны избегать использования URI длиннее 255 байт, так как некоторые старые клиенты или проксиприложения не могут корректно работать с такими длинами.
HTTP URL
Схема HTTP используется для локализации сетевых ресурсов с помощью протокола HTTP. Далее определены синтаксис и семантика HTTP URL, зависящие от схемы.
http_URL = "http:" "//" host [ ":" port ] [ abs_path ]
Host = <Легальное имя ЭВМ в Интернет или IP-адрес (в точечноцифровой форме),
как это определено в разделе 2.1 RFC-1123>
Port = *DIGIT
Если номер порта не указан, предполагается порт 80. Семантика устроена так, что идентифицированный ресурс размещается на сервере, который ожидает TCP-соединения через порт данной ЭВМ, а Request-URI для ресурса находится в abs_path. Использование IP адресов в URL следует избегать всюду, где это возможно (см. RFC-1900 [7.24]). Если abs_path в URL отсутствует, он должен считаться равным "/", в случае, если он используется в качестве Request-URI для ресурса.
Сравнение URI
При сравнении двух URI с целью проверки их идентичности клиент должен использовать пооктетное сравнение с учетом регистра, в котором напечатаны символы. Допускаются следующие исключения:
номер порта не указан, тогда для данного URI берется значение по умолчанию;
сравнение имен ЭВМ и схем не должно быть чувствительным к строчным/прописным буквам;
Пустой abs_path эквивалентен abs_path "/".
Символы, отличные от типов reserved и unsafe, устанавливаются равными их эквивалентам в кодировке ""%" HEX HEX". Например, следующие три записи URI являются эквивалентными:
http://abc.com:80/~smith/home.html
http://ABC.com/%7Esmith/home.html
http://ABC.com:/%7Esmith/home.html
|
|
Своеобразие русской архитектуры: Основной материал – дерево – быстрота постройки, но недолговечность и необходимость деления...
Типы оградительных сооружений в морском порту: По расположению оградительных сооружений в плане различают волноломы, обе оконечности...
Особенности сооружения опор в сложных условиях: Сооружение ВЛ в районах с суровыми климатическими и тяжелыми геологическими условиями...
Поперечные профили набережных и береговой полосы: На городских территориях берегоукрепление проектируют с учетом технических и экономических требований, но особое значение придают эстетическим...
© cyberpedia.su 2017-2024 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!