Из Википедии, бесплатной энциклопедии
Перейти к навигации Перейти к поиску

HTTP - ответ код состояние 303 См Другой способ для перенаправления веб - приложений на новый URI , особенно после того, как HTTP POST была выполнена, так как RFC 2616 (HTTP 1.1).

Согласно RFC 7231 , который отменяет RFC 2616 , «ответ 303 на запрос GET указывает, что исходный сервер не имеет представления целевого ресурса, который может быть передан сервером через HTTP. Однако значение поля Location относится к ресурс, который описывает целевой ресурс, так что выполнение запроса на извлечение этого другого ресурса может привести к представлению, которое будет полезно для получателей, не подразумевая, что оно представляет собой исходный целевой ресурс ».

Этот код состояния следует использовать с заголовком местоположения , как описано ниже. Если сервер отвечает на POST или другой неидемпотентный запрос ответом 303 See Other и значением заголовка местоположения, ожидается, что клиент получит ресурс, упомянутый в заголовке местоположения, с помощью метода GET; для запуска запроса к целевому ресурсу с использованием того же метода ожидается, что сервер предоставит ответ 307 Temporary Redirect .

303 See Other был предложен как один из способов ответа на запрос URI, который идентифицирует реальный объект в соответствии с теорией семантической паутины (другой - использование хэш-URI ). [1] Например, если http://www.example.com/id/alice идентифицирует человека, Алису, то для сервера было бы неприемлемо отвечать на запрос GET сообщением 200 OK, поскольку сервер не может доставить Сама Алиса. Вместо этого сервер будет выдавать ответ 303 See Other, который перенаправляется на отдельный URI, содержащий описание человека Алисы.

303 См. Другое можно использовать для других целей. Например, при создании веб-API RESTful, который должен немедленно возвращаться к вызывающему, но продолжать выполнение асинхронно (например, долгоживущее преобразование изображения), веб-API может предоставить URI проверки состояния, который позволяет исходному клиенту, запросившему преобразование чтобы проверить статус конверсии. Этот веб-API проверки статуса должен возвращать 303 See Other вызывающему, когда задача завершена, вместе с URI, из которого можно получить результат в поле HTTP-заголовка Location . [2]

Пример [ править ]

Запрос клиента:

POST  /  HTTP / 1.1 Хост :  www.example.com

Ответ сервера:

HTTP / 1.1  303  См. Другое расположение :  http://example.org/other

См. Также [ править ]

  • RFC 1945 (HTTP 1.0)
  • RFC 7231 (HTTP 1.1)
  • Протокол передачи гипертекста
  • Список кодов состояния HTTP
  • Опубликовать / Перенаправить / Получить
  • HTTP 301 (постоянное перенаправление)

Ссылки [ править ]

  1. ^ Классные URI для семантической сети , см. Раздел 4
  2. ^ Суббу Алламараджу. Поваренная книга веб-сервисов RESTful: решения для повышения масштабируемости и простоты . O'Reilly Media, 2010, стр. 20.