
정보성 상태코드는 HTTP/1.1에서 도입되어 비교적 새로운 것이지만, 이러한 코드가 필요한 가에 대하여 논란 이되고 있습니다.
클라이언트가 요청을 보내면 요청은 보통 성공함. 서버는 대응하는 성공을 의미하는 각각의 요청에 대응
200 : 요청은 정상이고, 본문은 요청된 리소스를 포함하고 있다.
201 : 어떠한 생성 작업을 완료하였으며, 생성 작업을 성공하였다.
202 : 요청은 받아들여졌으나, 아직 동작을 수행하지 않은 상태로 요청이 적절함을 의미
203 : 요청을 성공하였지만, 요청에 대한 검증이 되지 않은 상태를 의미
204 : 요청을 성공하였지만, 제공할 내용이 없음을 의미
205 : 204 와 동일하지만 새로고침 등을 통해 새로운 내용을 확인할 것을 추가로 의미
206 : 요청의 일부분만 성공하였음을 의미
클라이언트에 요청에 대해 적절한 다른 위치를 제공하거나, 대안의 응답 제공
300 : 클라이언트가 동시에 여러 응답을 가리키는 URL을 요청한 경우 응답 목록과 함께 반영된다.
301 : 요청한 URL이 옮겨졌을 때 사용. 옮겨진 URL에 대한 정보와 함께 응답되어야한다.
302 : 301과 동일하다. 클라이언트는 여전히 옮겨지기전 URL로 요청할 것을 의미
303 : 요청받은 행동 수행을 위해서는 다른 URL로 요청 해야함을 의미
304 : 이전의 동일한 요청과 비교하여 변화가 없음을 의미 ( 단시간에 반복된 동일 요청에 대한 대응 코드)
305 : 직접적인 요청이 아니라 반드시 우회경로를 통해 요청되어야함을 의미
307 : 302와 동일하며, HTTP Method도 변경없이 요청하여야 함을 의미
클라이언트의 잘못된 요청에 대한 대응 코드
400 : 클라이언트가 올바르지 못한 요청을 보내고 있음을 의미
401 : 요청을 위해서는 권한 인증들을 요구함을 의미
403 : 요청이 서버에 의해 거부되었음을 의미, 서버는 거부 이유를 포함하여 응답할 수 있지만, 보통은 거부 이유를 숨기고 싶을때 사용
404 : 요청한 URL을 찾을 수 없음을 의미
405 : 요청한 URL이 Method를 지원하지 않음을의미 (post요청에 대한 응답을 하는 URL에 GET으로 요청)
406 : 클라이언트 요청에 대해 적절한 콘텐츠가 없음을 의미
407 : 401과 동일하나, 우회경로를 통하여 인증할 것을 의미
408 : 요청에 응답하는 시간이 너무 긴 시간이 걸림을 의미
409 : 클라이언트 요청에 대해 서버에서 충돌 요소가 발생할 수 있음을 의미
410 : 요청한 URL이 더 이상 사용되지 않고 사라졌음을 의미
411 : 클라이언트 요청에 Content-length 헤더가 포함되어야 함을 의미
412 : 클라이언트가 조건부 요청을 했는데 그 중 하나가 실패하였음을 의미
413 : 요청이 너무 커서 서버가 처리할 수 없음을 의미
414 : 요청 URL이 너무 길어 처리할 수 없음을 의미
415 : 서버가 이해하지 못하는 유형의 컨텐츠를 요청하였음을 의미
416 : 클라이언트의 요청 내용이 범위가 잘못되었음을 의미
417 : 클라이언트 요청 헤더인 Expect에 대해 서버가 만족하지 않음을 의미
올바른 클라이언트 요청에 대해 서버의 문제로 응답할 수 없음을 의미
500 : 서버에 오류가 발생하며 응답 할 수 없음을 의미
501 : 클라이언트 요청에 대한 서버의 응답 수행 기능이 없음을 의미 ( 서버가 지원하지 않는 새로운 Method를 사용하여 요청 / get2, post2..)
502 : proxy 나 gateway등의 서버에서 응답하며, 서버의 부모 서버에서 오류가 발생함을 의미
503 : 현재 서버가 유지보수 등의 이유로 일시적인 사용 불가함을 의미
504 : 서버에서 다른 서버로 요청을 보냈으나, 응답 지연이 발생하여 처리가 불가함을 의미
505 : 서버가 지원할 수 없거나, 올바르지 못한 프로토콜로 요청 받음을 의미