Какой код ответа возвращать для небезопасного POST не приемлем? - PullRequest
0 голосов
/ 09 января 2012

Если кто-то получает доступ к моему серверу через http (то есть не через https), я перенаправляю запросы GET на версию https.

Но я не знаю, что делать с POST и PUT, потому что я не могу их перенаправить (я полагаю, что браузер выполняет GET при перенаправлении).

Я должен вернуть код ошибки. Какой код ошибки HTTP я должен вернуть?

Ответы [ 2 ]

1 голос
/ 09 января 2012

Как правило, вы бы вернули 403 - Запрещено. Общее описание этого: «Сервер понял запрос, но отказывается его авторизовать». что бы соответствовать вашей ситуации.

0 голосов
/ 09 января 2012

http://www.ietf.org/id/draft-ietf-httpbis-p2-semantics-18.txt объясняет коды ответов HTTP.Если вам нужен код ошибки, просто верните 404, если запросы не могут быть обработаны по этому URL.

7.4.5.404 Не найдено

Сервер не нашел ничего, соответствующего URI действующего запроса.Не указано, является ли состояние временным или постоянным.Код состояния 410 (Унесенные) СЛЕДУЕТ использовать, если сервер через некоторый внутренне конфигурируемый механизм знает, что старый ресурс постоянно недоступен и не имеет адреса пересылки.Этот код состояния обычно используется, когда сервер не желает точно указать, почему запрос был отклонен, или когда другой ответ не применим.

...