의미
서버가 클라이언트에게 다른 URL을 GET으로 가져오도록 안내합니다. 보통 POST의 결과를 보여 주기 위해서입니다.
흔한 원인
- 폼 제출 후 Post/Redirect/Get
- API가 장기 실행 작업의 결과를 가리킴
해결 방법
클라이언트 또는 방문자라면
Location에 GET을 보내세요. 사용자가 새로 고침해도 중복 제출되지 않습니다.
사이트나 API 운영자라면
폼 POST가 성공하면 303으로 결과 페이지에 보내서 새로 고침해도 폼이 다시 제출되지 않게 하세요.
응답 예시
HTTP/1.1
HTTP/1.1 303 See Other
Date: Tue, 07 Oct 2025 09:30:00 GMT
Server: nginx
Location: /orders/1001
Content-Length: 0 명세
자주 묻는 질문
› Post/Redirect/Get 패턴이란?
POST 후 서버가 결과 페이지로 303을 반환하고 브라우저가 GET으로 불러오므로, 새로 고침과 뒤로 가기가 안전합니다.
› 303과 302의 차이는?
303은 항상 "다른 URL을 GET하라"는 뜻입니다. 302는 메서드를 정하지 않지만 브라우저도 GET으로 바꿉니다.