Описание на странице, на которую вы ссылались, похоже, довольно точно описывает их назначение:
Переадресация 302 указывает, что перенаправление является временным - клиенты должны проверять исходный URL в будущих запросах.
Перенаправление 303 предназначено для перенаправления POST
запроса к GET
ресурсу (в противном случае клиент предполагает, что метод запроса для нового местоположения такой же, как и для исходного ресурса).
Если вы перенаправляете клиента как часть вашего веб-приложения, но ожидаете, что он всегда будет запускаться в веб-приложении (например, с сокращением URL-адреса), перенаправление 302, похоже, имеет смысл. Перенаправление 303 предназначено для использования, когда вы получаете POST
данные от клиента (например, отправка формы), и вы хотите перенаправить их на новую веб-страницу, которая будет использоваться GET
вместо POST
(например, стандартный запрос страницы).
Но посмотрите на это примечание из определений кода состояния - большинство клиентов делают то же самое для 302 или 303:
Note: RFC 1945 and RFC 2068 specify that the client is not allowed
to change the method on the redirected request. However, most
existing user agent implementations treat 302 as if it were a 303
response, performing a GET on the Location field-value regardless
of the original request method. The status codes 303 and 307 have
been added for servers that wish to make unambiguously clear which
kind of reaction is expected of the client.