La descripción en la página a la que vinculó parece ser bastante descriptiva de su propósito:
Un redireccionamiento 302 indica que el redireccionamiento es temporal ; los clientes deben verificar la URL original en futuras solicitudes.
Una redirección 303 está destinada a redirigir una POST
solicitud a un GET
recurso (de lo contrario, el cliente supone que el método de solicitud para la nueva ubicación es el mismo que para el recurso original).
Si está redirigiendo a un cliente como parte de su aplicación web pero espera que siempre comiencen en la aplicación web (por ejemplo, un acortador de URL), una redirección 302 parece tener sentido. Una redirección 303 se utiliza cuando recibe POST
datos de un cliente (por ejemplo, un envío de formulario) y desea redirigirlos a una nueva página web para recuperarlos en GET
lugar de POST
(por ejemplo, una solicitud de página estándar).
Pero vea esta nota de las definiciones del código de estado: la mayoría de los clientes harán lo mismo para un 302 o 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.