Tech Stock logo Tech Stock

HTTP는 요청(리퀘스트)과 응답(리스폰스)형의 프로토콜이다.
모든 요청에는 모든 응답이 돌아온다.

기본적 Status라인은
프로토콜 버젼, 상태코드, 텍스트 플레이즈로 구성되어있다.

HTTP/1.1 200 OK

■ 상태코드의 기본적 분류와 의미

상태코드는 3자리 숫자로 이루어져 있으며,
제일 앞의 숫자에 의해서 5가지로 분류된다.

  • 1xx : 처리중
    • 처리가 계속 됨을 의미한다.
  • 2xx : 성공
    • 요청이 성공함을 의미한다.
  • 3xx : 리다이렉트
    • 다른 리소스로 리다이렉트 함을 의미한다. 클라이언트는 이 상태코드를 받을때에, 리스폰스 메세지의 Locatin헤더를 참조하여 새로운 리소스에 접속한다.
  • 4xx : 클라이언트 에러
    • 클라이언트 에러를 의미한다. 원인은 클라이언트의 요청에있다(리퀘스트가 잘못됨을 의미함)
  • 5xx : 서버 에러
    • 서버쪽의 에러를 의미한다. 원인은 서버쪽에 있으며, 서버쪽의 문제가 해결되면 동일 리퀘스트에 대해서 정상적인 결과를 얻을 수 있다.

■ 많이 접하는 HTTP 상태코드 정리

  • 200 OK 리퀘스트 성공
  • 201 Created 리소스의 작성 성공
  • 301 Moved Permanently 리소스가 새로운 URI로 이동됨을 의미함
  • 303 See Other 별도의 URI를 참조한다
  • 400 Bad Request 리퀘스트가 잘못됨을 의미함
  • 401 Unauthorized 엑세스권한이 잘못됨
  • 403 Forbidden 엑세스 권함이 없음
  • 404 Not Found 리소스가 존재하지 않음
  • 408 Request Time-out 리퀘스트에 대한 응답이 없을때
  • 409 Conflict 리퀘스트의 충돌상황
  • 410 Gone 서버의 리소스가 영구적으로 삭제 되었을때
  • 500 Internal Server Error 서버 내부의 에러
  • 502 Bad Gateway 게이트웨이나 프록시로써 작동하는 서버가 리퀘스트를 보냈으나 잘못된 리스폰스를 받았다.
  • 503 Service Unavailable 서비스 정지.

Restful API를 사용한 개발에서는 실제로 많이 사용했던 기억이..

  • 200, 정상 종료(처리결과)
  • 201, 데이터가 정상적으로 작성되었을때
  • 400, 비정상 종료(처리결과)
  • 409, 같은 동작의 충돌처리할 때
  • 410, 데이터가 삭제되었을 경우