Следует ли использовать перенаправление 301, 302 или 303 после отправки формы?

Я создаю простую доску вопросов и ответов в php. Когда кто-то отправляет ответ на вопрос, скрипт php перенаправляет пользователя на исходный вопрос с обновленным ответом внизу страницы.

В этом случае было бы лучше использовать перенаправление 301, 302 или 303? Я думал о перенаправлении 302, потому что оно не является постоянным или статическим — оно зависит от параметров, которые отправляются в сценарий отправки. Тем не менее, я видел 303 рекомендованных для некоторых форм.

2

Решение

Правильным перенаправлением для этой ситуации будет перенаправление 303, поскольку вы перенаправляете с отправки формы (предположительно, это будет запрос POST) на страницу просмотра (которая должна быть запросом GET), и это временное перенаправление (т. Е. редирект может меняться в зависимости от параметров).

Это подтверждается стандартом:

Ответ на запрос может быть найден под другим URI и ДОЛЖЕН быть получен с использованием метода GET для этого ресурса. Этот метод существует главным образом для того, чтобы позволить выводу сценария, активированного POST, перенаправить пользовательский агент на выбранный ресурс. Новый URI не является заменой ссылки на первоначально запрошенный ресурс. Ответ 303 НЕ ДОЛЖЕН кэшироваться, но ответ на второй (перенаправленный) запрос может быть кэширован.

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]