SEO

308 리다이렉트

308 Redirect(308 리다이렉트)는 웹 페이지의 URL이 영구적으로 새로운 주소로 이동했음을 브라우저와 검색 엔진에 알리는 HTTP 상태 코드(308 Permanent Redirect)입니다. 301 리다이렉트와 동일하게 영구 이동을 의미하지만, 원래 요청의 HTTP 메서드(GET, POST 등)와 본문(body)을 반드시 그대로 유지한다는 점이 핵심 차이입니다.

308 Redirect(308 리다이렉트)는 웹 페이지의 URL이 영구적으로 새로운 주소로 이동했음을 브라우저와 검색 엔진에 알리는 HTTP 상태 코드(308 Permanent Redirect)입니다. 301 리다이렉트와 동일하게 영구 이동을 의미하지만, 원래 요청의 HTTP 메서드(GET, POST 등)와 본문(body)을 반드시 그대로 유지한다는 점이 핵심 차이입니다.

왜 중요한가

308 리다이렉트는 영구 이동 시 링크 자산(link equity)을 새 URL로 이전하면서도 요청 메서드를 보존합니다. Google은 공식적으로 308 리다이렉트를 301과 동일하게 취급한다고 밝혔으며, PageRank 전달 방식도 동일합니다. 따라서 SEO 관점에서는 301과 308 모두 영구 이동에 적합하지만, POST 요청이 관련된 엔드포인트라면 308이 더 안전한 선택입니다. 검색 엔진은 308 응답을 받으면 시간이 지남에 따라 인덱스에서 기존 URL을 새 URL로 교체하고, 기존 URL이 보유한 링크 자산을 새 URL로 전달합니다.

301과의 차이

구분308 (Permanent Redirect)301 (Moved Permanently)
HTTP 메서드 유지반드시 유지 (POST → POST)메서드 변경 가능 (POST → GET으로 바뀔 수 있음)
영구성영구 이동영구 이동
링크 자산 이전새 URL로 전달새 URL로 전달
검색 인덱스기존 URL이 새 URL로 대체기존 URL이 새 URL로 대체
브라우저 지원모든 최신 브라우저 지원모든 브라우저 지원 (레거시 포함)
주요 용도POST 요청 보존이 필요한 영구 이동일반적인 영구 이동

301 리다이렉트는 HTTP/1.0 시절부터 사용되어 모든 브라우저와 크롤러가 지원하지만, 일부 클라이언트가 POST 요청을 GET으로 변환하는 문제가 있었습니다. 308은 이 문제를 해결하기 위해 RFC 7538에서 정의된 상태 코드입니다. 단순한 페이지 이동이라면 301으로 충분하지만, API 엔드포인트나 폼 제출 URL의 영구 변경에는 308이 적합합니다.

사용 시나리오

  1. API 엔드포인트 영구 이전: REST API의 URL 구조를 변경할 때, POST/PUT/DELETE 등 다양한 HTTP 메서드를 사용하는 엔드포인트는 308 리다이렉트로 설정해야 클라이언트의 요청 메서드가 보존됩니다.
  2. 폼 제출 URL 영구 변경: 회원 가입, 결제, 로그인 등 POST 요청을 처리하는 URL이 영구적으로 변경될 때 308을 사용하면 사용자가 입력한 데이터가 손실되지 않습니다.
  3. 도메인 이전 시 POST 보존: 도메인을 변경하면서 POST 요청을 받는 엔드포인트도 함께 이전해야 하는 경우, 308 리다이렉트가 메서드와 데이터를 안전하게 전달합니다.
  4. HTTPS 전환: HTTP에서 HTTPS로 영구 전환할 때, POST 요청이 GET으로 변경되는 것을 방지하려면 301 대신 308을 사용하는 것이 더 정확합니다.

관련 인블로그 게시물

inblog에서 활용하기

inblog 대시보드에서 영구 리다이렉트는 308 상태 코드로 설정됩니다.