Вы можете использовать любой из них, но правильный код статуса для перенаправления после публикации - 303.
Путаница имеет историческое объяснение. Первоначально 302 указывало, что браузер не должен изменять метод перенаправленного запроса. Это делает его непригодным для перенаправления после публикации, когда вы хотите, чтобы браузер отправлял запрос GET. Тем не менее, все браузеры неправильно интерпретируют спецификации и всегда выдают запрос GET. Чтобы прояснить неоднозначность HTTP / 1.1, были определены два новых кода: 303 и 307. 303, по сути, определяет де-факто интерпретацию 302, в то время как 307 определяет первоначальную спецификацию 302. Таким образом, на практике 302 и 303 взаимозаменяемы Теория 302 и 307 являются.
Если вы действительно заботитесь о совместимости, 302 безопаснее, чем 303, поскольку агенты HTTP / 1.0 могут не понимать 303, но все современные браузеры говорят на HTTP / 1.1, так что это не настоящий вопрос. Я бы порекомендовал использовать 303, так как это наиболее правильно.
На сопроводительной записке; Поле Location
должно содержать полный URL-адрес. На практике это не имеет значения - браузеры прощают - но если вы заботитесь о спецификациях, это правильное решение.