Какой код статуса HTTP 305? Как правильно его использовать? - PullRequest
4 голосов
/ 14 января 2011

Все, что я нашел: «Запрошенный ресурс ДОЛЖЕН быть доступен через прокси-сервер, заданный полем Location. Поле Location дает URI прокси-сервера. Ожидается, что получатель будет повторять этот единственный запрос через прокси-сервер. 305 ответов ДОЛЖНЫ толькогенерироваться исходными серверами. "

Как правильно его использовать?Что если нет прокси под данным URL?

Ответы [ 2 ]

8 голосов
/ 14 января 2011

Это редирект, вы используете его, когда хотите сообщить клиенту, что он получает контент откуда-то еще.Указанный URI не обязательно должен быть «доверенным лицом» в разговорной речи.Это просто еще одно место, где существует изначально запрошенный контент.

Люди используют его для балансировки нагрузки.Я не уверен, какие клиенты реализуют это правильно, поэтому, если вы просто хотите перенаправить, вам будет безопаснее использовать 302.

Изменить

Предполагаемыйиспользуйте пример, как описано в HTTP RFC: допустим, у вас есть кеширующий прокси-сервер, а его содержимое поступает с реального сервера (исходного сервера).Вы бы отправили 305, если кто-то каким-то образом напрямую получит доступ к реальному серверу, и вы хотите, чтобы они вместо этого получили его от прокси.

3 голосов
/ 14 января 2011

Редко используемый код, разрешено ли серверу отправлять его, если клиент в качестве прокси в цепи связи? возможно нет, но определить прокси сложно. Если после сервера есть обратный прокси, примет ли этот прокси ошибку 305 и перешлет ее клиенту HTTP?

Обычно это делается для перенаправления «прямого доступа», который должен использовать безопасный прокси-доступ, и вопрос в том, почему прямой доступ доступен? Конечно, что-то не так в цепочке безопасности раньше.

Итак, кого волнует использование 305 на стороне сервера? Я надеюсь, что вы не пытаетесь сгенерировать ответ 305.

Если вы являетесь HTTP-клиентом, это просто перенаправление, такое как 302, вам не нужно знать, разговариваете ли вы с прокси-сервером или нет (и иногда это будет трудно узнать).

...