303 See Other vertelt de client dat hij met GET (of HEAD) een andere resource moet ophalen, die in de Location-header staat. De code zegt niet dat de oorspronkelijke resource is verhuisd, maar verwijst naar een aparte resource die het antwoord bevat.
Het belangrijkste gebruik is het Post/Redirect/Get-patroon. Nadat een formulier met POST is verzonden, antwoordt de server met 303 en de URL van een bevestigingspagina, en de browser laadt die pagina met GET. Herladen of op Terug klikken verzendt het formulier dan niet opnieuw. Browsers zetten bij het volgen van een 303 elke methode behalve HEAD om naar GET, en laten de requestbody weg.
Een 303 is standaard niet cachebaar. Een 303 als antwoord op een GET kan ook betekenen dat de server geen representatie heeft van het gevraagde ding zelf, maar het op een andere URL beschrijft, een patroon dat in Linked Data wordt gebruikt.
Voorbeeldresponse
HTTP/1.1 303 See Other
Date: Fri, 06 Nov 2026 10:15:32 GMT
Location: /orders/8412/confirmation
Content-Length: 0 SEO en redirects controleren
Google behandelt 303 als een tijdelijke redirect: de oorspronkelijke URL blijft meestal geïndexeerd, en het doel krijgt maar een zwak canoniek signaal. Dat past bij het doel van de code, want 303-doelen zijn meestal resultaat- of bevestigingspagina’s en geen content die hoort te ranken. Gebruik 303 niet om pagina’s permanent te verhuizen; gebruik daarvoor 301 of 308. Een redirectcontrole met de methode ingesteld op POST laat zien hoe het verzoek bij een 303-hop een GET wordt.
Veelvoorkomende oorzaken en toepassingen
- Post/Redirect/Get: een formulierverwerker stuurt na een
POSTdoor naar een bedankpagina of een orderpagina. - Een API accepteert een job en verwijst de client naar een aparte resource met het resultaat.
- Linked Data: een URI die een ding uit de echte wereld benoemt, stuurt door naar een document met een beschrijving ervan.