의미
리소스가 영구 이동했으며, 클라이언트는 같은 메서드와 본문으로 새 URL에 요청을 다시 보내야 합니다.
흔한 원인
- API 경로가 영구 이동함
- 프레임워크가 후행 슬래시나 HTTPS를 강제함
- POST를 유지해야 하는 도메인 이전
해결 방법
클라이언트 또는 방문자라면
코드의 URL을 업데이트하고 같은 요청을 다시 보내세요. 아주 오래된 클라이언트는 308을 지원하지 않을 수 있습니다.
사이트나 API 운영자라면
POST나 PUT을 받는 엔드포인트의 영구 이동에는 308을 쓰세요. 일반 페이지라면 검색 엔진에게 301과 308은 같습니다.
응답 예시
HTTP/1.1
HTTP/1.1 308 Permanent Redirect
Date: Tue, 07 Oct 2025 09:30:00 GMT
Server: nginx
Location: https://api.example.com/v2/items
Content-Length: 0 명세
자주 묻는 질문
› 308도 301처럼 SEO 가치를 전달하나요?
네. Google은 308을 301과 똑같이 취급합니다.
› Next.js나 Vercel이 308을 반환하는 이유는?
메서드를 유지하기 위해 후행 슬래시와 리디렉션 규칙이 기본으로 308을 사용하기 때문입니다.