HTTP 상태 코드, 응답 코드
1xx (정보 전달)
요청을 받았으며 프로세스를 계속함
HTTP/1.0 이후 잘 쓰이지 않다가 101, 103의 등 페이지 로드 속도를 빠르게 하기 위해 다시 사용됨
100 Continue
101 Switching Protocols
102 Processing
- 수신 요청으로 처리는 하고있지만, 아직 응답을 할 수 없는 상태임을 알리는 코드
103 Early Hints
- Link Heder와 함께 사용(
Link: </style.css>; rel=preload; as=style
)되며 서버의 응답 전 PreLoading을 할 수 있도록 하는 응답 코드
- Link Heder와 함께 사용(
2xx (성공)
요청을 성공적으로 받았음
200 OK
201 Created
- 요청이 처리되어 리소스가 만들어짐
- POST, PUT 과 같은 Create, Modify 요청 이후에 따라옴
202 Accepted
- 요청은 받아들였지만 처리되지 않음
203 Non-Authoritative Information
- 응답받은 메타정보가 서버에 저장된 원본하고는 동일하지는 않지만 로컬이나 다른 복사본에서 수집되었다는 의미이다.
- 프록시에서 사용되는 상태코드이며, 프록시가 형식을 변환하거나 HTML 본문에 무언가를 추가할 경우 해당 코드를 통해 알림
- 이 경우 200 OK가 우선적으로 응답하기 때문에 warning 헤더를 통해 해당 상태를 알리는 방법을 권장
204 No Content
- 요청은 성공했지만, 컨텐츠를 제공하지 않음
- 처리 성공 여부가 중요한 API 요청에서 사용
205 Reset Content
206 Partial Content
207 Multi-Status
208 Already Reported
3xx(리다이렉션)
요청 완료를 위해 추가 조치가 필요함
짧은 주소 (ex - bit.ly) 서비스의 경우 접속 시 301이나 302 코드와 함께 리다이렉션할 실제 URL을 헤더에 담아 보냄
300 Multiple Choices
301 Moved Permanently
- 영구적으로 컨텐츠가 이동했을 때 사용
302 Found
- 일시적으로 컨텐츠가 이동했을 때 사용
303 See Other
- 서버가 사용자의 GET 요청을 처리하여 다른 URL에서 요청된 정보를 가져올 수 있도록 응답하는 코드
304 Not Modified
- 리소스가 바뀌지 않았음을 알림
- 캐시 자원으로의 암묵적 리다이렉션
305 Use Proxy (Deprecated)
306 Unused (Deprecated)
307 Temporary Redirect - 300과 동일하나 HTTP 메소드 변경 불가
308 Permanent Redirect - 301과 동일하나 HTTP 메소드 변경
4xx(클라이언트 오류)
요청의 문법이 잘못되었거나, 처리할 수 없다
400 Bad Request
401 Unauthorized
- 인증이 필요한 리소스에 인증 없이 접근할 경우
- 인증 방식 (Basic / Digest)을 함께 보내야 함
- 단순히 권한이 없는 경우엔
403
사용
402 Payment Required
- 구현은 안되어 있는 코드 / 보통
403
으로 사용
- 구현은 안되어 있는 코드 / 보통
403 Forbidden
- 서버가 요청을 거부할 때
- 해당 유저가 차단되었거나, index.html이 없을 경우, 권한이 없는 경우 발생
404 Not Found
- 리소스 없음
405 Method Not allowed
406 Not Acceptable
- 요청은 정상이나 서버에서 받아들일 수 없음
- 일반적으로 웹 방화벽에 걸릴 때 발생
407 Proxy Authentication Required
408 Request Timeout
- 요청 시간 초과
409 Conflict
410 Gone
- 404와 달리 리소스가 영원히 사라짐
411 Length Required
Content-Length
미 지정
412 Precondition Failed
- 조건부 요청 시 조건이 맞지 않을 경우
413 Payload Too Large
414 URI Too Long
415 Unsupported Media Type
416 Requested Range not Satisfiable
417 Expectation Failed
418 I'm a teapot
- 커피 포트 제어 프로토콜 (만우절 장난, 하하 정말재밌다)
421 Misdirected Request
422 Unprocessable Entity
423 Locked
424 Failed Dependency
425 Too Early
426 Upgrade Required
428 Precojndition Required
429 Too Many Requests
431 Request Header Fields Too Large
451 Unavailable For Legal Reasons
5xx(서버 오류)
유효한 요청에 대해 서버가 응답할 수 없다
500 Internal Server Error
501 Not Implemented
502 Bad Gateway
503 Service Temporarily Unavailable
504 Gateway Timeout
505 HTTP vVersion Not Supported
506 Variant Also Negotiates
507 Insufficient Storage
508 Loop Detected
510 Not Extended
511 Network Authentication Required