2014년 12월 23일 화요일

HTTP 상태 코드

HTTP 상태 코드


인터넷을 하다보면 다양하게 마주치는 상태 코드들이 있습니다. 저는 가장 많이 본 상태코드는 403이었는데요. 상태 코드들을 찾다보니 다양한 코드들이 많아서 간단하게 정리를 해보았습니다.

1xx 조건부 응답 코드


이 상태의 상태 코드는 상태-라인과 선택적 헤더만을 포함하는 임시의 응답을 나타내고 빈 라인에 의해서 종결되는 코드입니다.


  • 100(계속): 서버는 요청의 첫 번째 부분을 받았으며 나머지를 기다리고 있음을 나타냄
  • 101(프로토콜 전환): 요청자가 서버에 프로토콜 전환을 요청했으며 서버는 이를 승인하는 중
  • 102(처리)

2xx 응답이 성공한 상태


2로 시작하는 상태 코드는 클라이언트의 요청이 정상적으로 처리되는 것을 나타냅니다.


  • 200(성공): 서버가 요청을 제대로 처리했다는 뜻
  • 201(작성됨): 성공적으로 요청되었으며 서버가 새 리소스를 작성했다는 뜻
  • 202(허용됨): 서버가 요청을 접수했지만 아직 처리 중
  • 203(신뢰할 수 없는 정보): 서버가 요청을 성공적으로 처리했지만 다른 소스에서 수신된 정보를 제공하는 중
  • 204(콘텐츠 없음): 서버가 요청을 성공적으로 처리했지만 콘텐츠를 제공하지 않음
  • 205(콘텐츠 재설정): 서버가 요청을 성공적으로 처리했지만 콘텐츠를 표시하지 않는 것 
  • 206(일부 콘텐츠): 서버가 GET 요청의 일부만 성공적으로 처리
  • 207(다중 상태)
  • 208(이미 보고됨)

3xx 리다이렉션 완료 상태


  • 300(여러 선택항목): 서버가 요청에 따라 여러 조치를 선택할 수 있음
  • 301(영구 이동): 요청한 페이지를 새 위치로 영구적으로 이동
  • 302(임시 이동): 현재 서버가 다른 위치의 페이지로 요청에 응답하고 있지만 요청자는 향후 요청 시 원래 위치를 계속 사용해야 한다는 뜻
  • 303(기타 위치 보기): 요청자가 다른 위치에 별도의 GET 요청을 하여 응답을 검색할 경우 서버는 이 코드를 표시
  • 304(수정되지 않음): 마지막 요청 이후 요청한 페이지는 수정되지 않음
  • 305(프록시 사용): 요청자는 프록시를 사용하여 요청한 페이지만 액세스 가능
  • 307(임시 리다이렉션): 현재 서버가 다른 위치의 페이지로 요청에 응답하고 있지만 요청자는 향후 요청 시 원래 위치를 계속 사용해야 한다는 뜻
  • 308(영구 리다이렉션)

4xx 요청 오류 상태


4로 시작하는 상태 코드를 만나면 짜증부터 확나게 됩니다. 그래서 'http 403 에러' 등등의 검색어를 많이 이용하시죠. 이렇듯 4로 시작하는 에러는 오류를 나타내주는 코드입니다.

  • 400(잘못된 요청): 서버가 요청의 구문을 인식하지 못했을 때
  • 401(권한 없음): 이 요청은 인증이 필요하며 서버는 로그인이 필요한 페이지에 대해 이 요청을 제공할 수 있을 때
  • 403(금지됨): 서버에 접속 할 수 있는 권한이 없을 경우
  • 404(찾을 수 없음): 서버에 페이지가 존재하지 않을 경우
  • 405(허용되지 않는 방법): 요청에 지정된 방법을 사용할 수 없음
  • 406(허용되지 않음): 요청한 페이지가 요청한 콘텐츠 특성으로 응답할 수 없음
  • 407(프록시 인증 필요): 이 상태 코드는 401(권한 없음)과 비슷하지만 요청자가 프록시를 사용하여 인증해야 함 
  • 408(요청 시간초과): 서버의 요청 대기 시간 초과
  • 409(충돌): 서버가 요청을 수행하는 중에 충돌이 발생
  • 410(사라짐): 서버는 요청한 리소스가 영구적으로 삭제되었을 때 이 응답을 표시
  • 411(길이 필요): 서버는 유효한 콘텐츠 길이 헤더 입력란 없이는 요청을 수락 않음
  • 412(사전조건 실패): 서버가 요청자가 요청 시 부과한 사전조건을 만족하지 않음
  • 413(요청 속성이 너무 큼): 요청이 너무 커서 서버가 처리 불가능
  • 414(요청 URI가 너무 긺): 요청 URL이 너무 길어 서버가 처리 불가
  • 415(지원되지 않는 미디어 유형): 요청이 요청한 페이지에서 지원하지 않는 형식
  • 416(처리할 수 없는 요청범위): 요청이 페이지에서 처리할 수 없는 범위
  • 417(예상 실패): 서버는 Expect 요청 헤더 입력란의 요구사항을 만족할 수 없음
  • 420(Enhance Your Calm, 트위터)
  • 422(처리할 수 없는 엔티티)
  • 423(잠김)
  • 424(실패된 의존성)
  • 424(메쏘드 실패)
  • 425(정렬되지 않은 컬렉션)
  • 426(업그레이드 필요)
  • 428(전제조건 필요)
  • 429(너무 많은 요청)
  • 431(요청 헤더 필드가 너무 큼)
  • 444(응답 없음, Nginx)
  • 449(다시 시도, 마이크로소프트)
  • 450(윈도 자녀 보호에 의해 차단됨, 마이크로소프트)
  • 451(법적인 이유로 이용 불가)
  • 451(리다이렉션, 마이크로소프트)
  • 494(요청 헤더가 너무 큼, Nginx)
  • 495(Cert 오류, Nginx)
  • 496(Cert 없음, Nginx)
  • 497(HTTP to HTTPS, Nginx)
  • 499(클라이언트가 요청을 닫음, Nginx)

5xx 서버 오류 시 상태 코드


서버가 클라이언트의 요청을 수행하지 못했을 경우에 나타나게 됩니다.

  • 500(내부 서버 오류): 서버에 오류가 발생하여 요청 수행 불가
  • 501(구현되지 않음): 서버에 요청을 수행할 수 있는 기능이 없음
  • 502(불량 게이트웨이): 서버가 게이트웨이나 프록시 역할을 하고 있거나 또는 업스트림 서버에서 잘못된 응답을 받았을 경우
  • 503(서비스를 사용할 수 없음): 서버가 오버로드되었거나 유지관리를 위해 다운되었기 때문에 현재 서버를 사용 불가
  • 504(게이트웨이 시간초과): 서버가 게이트웨이나 프록시 역할을 하고 있거나 또는 업스트림 서버에서 제때 요청을 받지 못했을 경우
  • 505(HTTP 버전이 지원되지 않음): 서버가 요청에 사용된 HTTP 프로토콜 버전을 지원하지 않음
  • 506(Variant Also Negotiates)
  • 507(용량 부족)
  • 508(루프 감지됨)
  • 509(대역폭 제한 초과)
  • 510(확장되지 않음)
  • 511(네트워크 인증 필요)
  • 598(네트워크 읽기 시간초과 오류, 알 수 없음)
  • 599(네트워크 연결 시간초과 오류, 알 수 없음)

댓글 없음:

댓글 쓰기