본문 바로가기
네트워크

HTTP 상태 코드

by heereal 2023. 7. 28.

상태 코드는 서버로부터 리퀘스트 결과를 전달한다

  • HTTP 상태 코드란?
    • 클라이언트가 서버에 HTTP 리퀘스트를 보낼 때 서버에서 그 결과가 어떻게 되었는지 알려주는 것
  • 상태 코드의 구조: 3자리 숫자와 설명
    • 상태 코드 클래스: 숫자의 첫 번째 자리
        클래스 설명
      1xx Informational 리퀘스트를 받아들여 처리 중
      2xx Success 리퀘스트를 정상적으로 처리했음
      3xx Redirection 리퀘스트를 완료하기 위해서 추가 동작이 필요
      4xx Client Error 서버가 리퀘스트 이해 불가능
      5xx Server Error 서버에서 리퀘스트 처리 실패

 

2xx 성공 (Sueccess)

  • 200 OK
    • 클라이언트가 보낸 리퀘스트를 서버가 정상 처리하였음을 나타냄
  • 204 No Content
    • 서버가 리퀘스트를 받아서 처리하는 데는 성공했지만 리스폰스에 엔티티 바디를 포함하지 않음
    • 클라이언트에서 서버로 정보만 전송할 때 사용
  • 206 Partial Content
    • Content-Range로 범위가 지정된 리퀘스트에 의해 서버가 부분적 GET 리퀘스트를 받았음을 나타냄

 

3xx 리다이렉트 (Redirect)

  • 리퀘스트를 종료하기 위해 브라우저 측에서 특별한 처리를 수행해야 함을 나타냄
  • 리다이렉션(Redirection)은 보통 웹사이트를 새로운 도메인으로 옮겼거나 페이지의 주소가 바뀌었을 때, 이용자들을 하여금 변경된 주소로 자동으로 옮겨가게 만드는 데 사용함

  • 301 Moved Permanently (Permanent Redirection)
    • 리퀘스트에 포함된 URI를 새로 부여한 URI로 변경해야 한다는 것을 나타냄
    • 예를 들면 https://www.by-zip.com 마지막에 슬래시(/) 붙이는 것을 잊은 경우
  • 302 Found (Temporarily Redirection)
    • 리퀘스트된 리소스에 새로운 URI가 할당되어 있기 때문에, 그 URI를 참조해 주길 바란다는 의미
    • 영구적인 이동을 의미하는 301과 달리 일시적인 이동을 의미함
  • 303 See Other
    • 리퀘스트에 대한 리소스는 다른 URI에 있기 때문에 GET 메소드를 사용해서 얻어야 한다는 것을 나타냄
    • 예를 들면 POST 메소드로 프로그램을 실행한 후에 별도의 URI에 GET 메소드리 리다이렉트 시키고 싶은 경우에 사용
  • 304 Not Modified
    • 클라이언트가 조건부 리퀘스트를 했을 때 리소스에 대한 엑세스는 허락하지만, 조건이 충족되지 않음을 표시함

  • 301과 302의 차이점
    • 301 Permanent Redirection
      • 웹사이트의 도메인을 변경했거나 새로운 URL 구조로 개편했을 때 사용
      • 검색엔진은 과거 URL의 페이지 랭킹과 평가점수와 같은 모든 SEO 값과 링크 리소스를 새로운 URL로 이전함
    • 302 Temporarily Redirection
      • 페이지가 임시 점겅 중이거나 A/B 테스팅 할 때 사용
      • 검색 엔진은 페이지 랭킹과 평가점수와 같은 모든 SEO 값과 링크 리소스를 옮기지 않고 유지하며, 컨텐츠만 새로운 URL에서 조회하도록 함

 

4xx 클라이언트 에러 (Client Error)

  • 400 Bad Request
    • 리퀘스트 구문이 잘못되었음을 나타냄
  • 401 Unauthorized
    • 최초의 401 리스폰스인 경우: 송신한 리퀘스트에 HTTP 인증 정보가 필요하다는 의미 (BASIC 인증, DIGEST 인증)
    • 두 번째 401 리스폰스인 경우: 유저 인증에 실패했음을 의미 (Authorization Required)
  • 403 Forbidden
    • 리퀘스트된 리소스의 엑세스가 거부되었음을 나타냄
  • 404 Not Found
    • 리퀘스트한 리소스가 서버상에 없다는 것을 나타냄

 

5xx 서버 에러 (Server Error)

  • 500 Internal Server Error
    • 서버에서 리퀘스트를 처리하는 도중에 에러가 발생했음을 나타냄
  • 503 Service Unavailable
    • 일시적으로 서버가 과부하 상태이거나 점검중이기 때문에 현재 리퀘스트를 처리할 수 없음을 나타냄

참고자료

 

🌐 301 vs 302 상태 코드 차이점 (SEO)

301 vs 302 Redirection 리다이렉션(Redirection)은 보통 웹사이트를 새로운 도메인으로 옮겼거나 페이지의 주소가 바뀌없을때, 이용자들을 하여금 변경된 주소로 자동으로 옮겨가게 만드는데 사용된다.

inpa.tistory.com

 

[HTTP] 301과 302 Redirect의 차이

HTTP Response Status Code는 요청에 대한 웹서버의 응답을 나타내는 코드를 말합니다. 이 코드를 바탕으로 웹브라우저나 검색엔진 크롤러는 요청을 어떻게 처리해야할지 판단하게 됩니다. 유명한 코

nsinc.tistory.com

 


이 글은 《그림으로 배우는 Http & Network Basic》를 참고하여 작성하였습니다.

 

 

 

'네트워크' 카테고리의 다른 글

HTTP와 연계하는 웹 서버  (0) 2023.09.04
HTTP 통신  (0) 2023.07.21
HTTP 프로토콜의 구조  (0) 2023.07.13
웹과 네트워크의 기본  (0) 2023.07.13

댓글