Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Сетевые протоколы в инфокоммуникациях (ПЗ).docx
Скачиваний:
1
Добавлен:
01.07.2025
Размер:
3.51 Mб
Скачать

415 Unsupported Media Type (Неподдерживаемый тип среды)

Сервер отказывается обслужить запрос, потому что объект запроса имеет формат, не поддерживаемый запрашиваемым ресурсом для указанного метода.

Server error 5xx (ошибка сервера)

Статусный код отклика, начинающийся с цифры 5, указывает на случаи, когда сервер опасается, что он ошибся, или не может реализовать запрос. За исключением случаев, когда обрабатывается запрос HEAD, серверу следует включить объект, содержащий объяснение создавшейся ошибочной ситуации и указывающей на то, является ли ситуация временной или постоянной. Агенту пользователя следует отобразить пользователю любой объект, включенный в отклик. Эти коды откликов применимы для любых методов запроса.

500 Internal Server Error (Внутренняя ошибка сервера)

Сервер столкнулся с непредвиденными условиями, которые мешают ему исполнить запрос.

501 Not Implemented (Не применимо)

Сервер не поддерживает функцию, которая должна быть реализована в ходе исполнения запроса. Это адекватный отклик, когда сервер не распознает метод запроса и не способен поддерживать его для данного ресурса.

502 Bad Gateway (Плохой шлюз)

Сервер при работе в качестве шлюза или прокси получил неверный отклик от вышестоящего сервера, к которому он обратился, выполняя запрос.

503 Service Unavailable (Услуга не доступна)

Сервер в данный момент не может обработать запрос в связи с временной перегрузкой или другими сложившимися обстоятельствами.

Существование статусного кода 503 не предполагает, что сервер должен использовать его, когда оказывается перегруженным. Некоторые серверы могут просто отказаться устанавливать соединение.

504 Gateway Timeout (Таймаут шлюза)

Сервер при работе в качестве внешнего шлюза или проксисервера не получил своевременно отклик от вышестоящего сервера, к которому он обратился, пытаясь исполнить запрос.

505 HTTP Version Not Supported (Версия не поддерживается)

Сервер не поддерживает или отказывается поддерживать версию протокола HTTP, которая была использована в сообщении­запросе. Сервер индицирует, что он не способен или не хочет завершать обработку запроса в рамках главной версии клиента. Отклику следует содержать объект, описывающий, почему эта версия не поддерживается и какие другие протоколы поддерживаются сервером.

Практическое занятие 7. Гипертекстовый протокол HTTP (часть 2)

Идентификация доступа (RFC-2617)

HTTP предлагает простой механизм аутентификации с помощью отклика, который может использоваться сервером, чтобы потребовать от клиента прислать запрос, содержащий аутентификационную информацию. Для определения схемы идентификации он применяет лексему произвольной длины, не зависящую от применения строчных или прописных символов, за ней следует список пар атрибут­значение. Элементы списка отделяются друг от друга запятыми. Атрибуты представляют собой параметры, которые определяют аутентификацию в рамках выбранной схемы.

Authscheme = token authparam = token "=" quotedstring

Сообщениеотклик 401 (Unauthorized) используется исходным сервером для посылки требования авторизации агенту пользователя. Этот отклик должен включать в себя поле заголовка WWW-Authenticate, содержащее, по крайней мере, одно требование доступа к запрашиваемому ресурсу.

Challenge = authscheme 1*SP realm *( "," authparam ) Realm = "realm" "=" realmvalue realmvalue = quotedstring

Атрибут области realm необходим для всех схем идентификации (authentication), которые посылают требования. Значение атрибута realm (чувствительно к применению строчных и прописных букв), в комбинации с каноническим корневым URL сервера доступа, определяет пространство защиты. Эти области позволяют разделить защищенные ресурсы на сервере на ряд защищенных зон, каждая со своей собственной схемой идентификации и/или идентификационной базой данных. Значением атрибута области является строка, обычно присваиваемая исходным сервером, которая может иметь специфическую семантику для каждой схемы идентификации.

Агент пользователя, который хочет идентифицировать себя на сервере, после получения отклика 401 или 411 может сделать это, включив в запрос поле заголовка Authorization. Значение поля Authorization состоит из записей, содержащих идентификационную информацию агента пользователя для области ( realm ) запрошенного ресурса.

credentials = basiccredentials | authscheme #authparam

Домен, в пределах которого может автоматически применяться идентификационная информация, определяется зоной защиты. Если предыдущий запрос был авторизован, та же идентификационная информация может быть использована для всех других запросов в пределах зоны защиты и во временных рамках, заданных схемой идентификации, параметрами и/или предпочтениями пользователя. Если не определено обратного схемой авторизации, одна зона защиты не может быть распространена за пределы ее сервера.

Если сервер не хочет принимать идентификационную информацию, переданную в запросе, он должен прислать отклик 401 (Unauthorized). Отклик должен включать поле заголовка WWW-Authenticate, которое содержаит требование (возможно новое), применимое для запрошенного ресурса, и объект, объясняющий причину отказа.

Протокол HTTP не ограничивает приложения только этим простым механизмом авторизации (требованиеотклик). Может быть применен дополнительный механизм, такой, как шифрование на транспортном уровне или использование инкапсуляции сообщений.

Прокси­серверы должны быть полностью прозрачны в отношении авторизации агентов пользователя. То есть, они должны переадресовывать в неприкосновенном виде заголовки WWW-Authenticate и Authorization.

HTTP/1.1 позволяет клиенту передать идентификационную информацию в прокси и обратно с использованием заголовков Proxy-Authenticate и Proxy-Authorization.