TrueURL
TrueURL

메뉴

HTTP 상태 코드 정리

모든 HTTP 응답은 어떤 일이 일어났는지 클라이언트에 알려 주는 세 자리 상태 코드로 시작합니다. 계열별로 코드를 살펴보고, 알기 쉬운 설명과 응답 예시, 각 코드가 리디렉션과 SEO에 어떤 의미인지 확인하세요.

2xx 성공

요청을 받아 이해하고 수락했습니다. 정상적인 리디렉션 체인은 이 계열의 코드, 보통 200 OK로 끝납니다.

3xx 리디렉션

클라이언트가 추가 조치를 취해야 하며, 보통 Location 헤더에 담긴 URL을 요청합니다. 리디렉션 체인은 바로 이 코드들로 이루어집니다.

4xx 클라이언트 오류

요청을 보낸 그대로는 처리할 수 없습니다. 페이지가 존재하지 않거나, 접근이 거부되었거나, 클라이언트가 너무 많은 요청을 보낸 경우입니다.

5xx 서버 오류

서버가 유효해 보이는 요청을 처리하지 못했습니다. 5xx 오류가 계속되면 방문자와 크롤러 모두 페이지에 접근할 수 없습니다.

HTTP 상태 코드 읽는 법

첫 번째 자리는 응답의 계열을, 나머지 두 자리는 그 계열 안에서의 정확한 의미를 나타냅니다. 특정 코드를 알지 못하는 클라이언트는 그 코드를 해당 계열의 x00 코드처럼 처리하므로, 알 수 없는 4xx 코드는 400 Bad Request와 같이 처리됩니다.

숫자 뒤에 붙는 Not Found나 Moved Permanently 같은 사유 구절(reason phrase)은 사람이 읽기 위한 설명일 뿐입니다. 클라이언트는 숫자만 보고 동작하며, HTTP/2와 HTTP/3에서는 사유 구절을 아예 보내지 않습니다.

리디렉션 상태 코드 한눈에 보기

  • 301 Moved Permanently: 영구 리디렉션이며, 브라우저가 POST를 GET으로 바꿀 수 있습니다. 페이지를 옮겼을 때 기본으로 쓰는 코드입니다.
  • 302 Found: 임시 리디렉션이며, 메서드가 바뀔 수 있습니다. 많은 프레임워크의 기본값입니다.
  • 303 See Other: 임시 리디렉션이며, 항상 GET으로 따라갑니다. 폼 제출 후에 사용합니다.
  • 307 Temporary Redirect: 임시 리디렉션이며, 메서드와 본문이 그대로 유지됩니다.
  • 308 Permanent Redirect: 영구 리디렉션이며, 메서드와 본문이 그대로 유지됩니다.
  • 304 Not Modified: 다른 URL로 보내는 리디렉션이 아니라, 클라이언트에 캐시된 사본이 아직 유효하다는 신호입니다.

각 코드를 언제 써야 하는지는 HTTP 리디렉션 상태 코드 정리 글에서 확인하세요.

리디렉션 체인의 상태 코드

리디렉션 체인은 최종 응답으로 끝나는 일련의 3xx 응답입니다. 방문자나 크롤러가 실제로 받는 것은 마지막 상태 코드뿐이므로, 그 앞의 리디렉션이 아무리 깔끔해 보여도 404로 끝나는 체인은 깨진 링크입니다. URL 리디렉션 검사 도구로 모든 홉(리디렉션 한 단계)의 상태 코드를 확인하거나, 리디렉션 일괄 검사 도구로 여러 URL을 한 번에 검사하세요.

URL 리디렉션 검사

무료 TrueURL 리디렉션 검사 도구로 URL이 반환하는 모든 상태 코드를 홉별로 확인하세요.