1xx (Information): 요청이 수신되어 처리중2xx (Successful): 요청 정상 처리3xx (Redirection): 요청을 완료하려면 추가 행동이 필요4xx (Client Error): 클라이언트 오류, 잘못된 문법 등으로 서버가 요청을 수행할 수 없음5xx (Server Error): 서버 오류, 서버가 정상 요청을 처리하지 못함
299 > 2xx(Successful)클라이언트의 요청을 성공적으로 처리
• 200 OK
• 201 Created
• 202 Accepted
• 204 No Content
200과 201을 주로 사용함


201 상태 코드가 오면 자원이 생성되었고 Location 헤더 필드가 존재한다는 것을 파악할 수 있음204 메시지(2xx)만으로 성공을 인식할 수 있음요청을 완료하기 위해 User Agent의 추가 조치가 필요함
• 300 Multiple Choices
• 301 Moved Permanently
• 302 Found
• 303 See Other
• 304 Not Modified
• 307 Temporary Redirect
• 308 Permanent Redirect
301 ~ 308까지가 중요함
Redirection : 웹 브라우저는 3xx 응답의 결과에 Location 헤더가 있으면, Location 위치로 자동으로 이동함

301 상태 코드가 오면 Location 헤더에 있는 /new-event url로 자동으로 리다이렉션됨
/event -> /new-eventGET으로 변하고, 본문이 제거될 수 있음(MAY)
301과 기능은 같음POST를 보내면 리다이렉트도 POST 유지)
GET으로 변하고, 본문이 제거될 수 있음(MAY)302와 기능은 같음302와 기능은 같음GET으로 변경POST로 주문 후에 웹 브라우저를 새로고침하면, 새로고침은 다시 요청을 하는 것이기 때문에 중복 주문이 될 수 있음
POST로 주문 후에 새로 고침으로 인한 중복 주문을 방지하기 위해서, POST로 주문 후에 주문 결과 화면을 GET 메서드로 리다이렉트함GET으로 조회GET으로 다시 요청
302 스펙의 의도는 HTTP 메서드를 유지하는 것이었는데, 웹 브라우저들이 대부분 GET으로 바꾸어버림302를 대신하는 명확한 307이나 303이 등장함307과 303의 사용을 권장하지만 현실적으로 이미 많은 애플리케이션 라이브러리들이 302를 기본값으로 사용하고 있음GET으로 변해도 되면 그냥 302를 사용해도 큰 문제는 없음304 응답은 응답에 메시지 바디를 포함하면 안됨GET, HEAD 요청시 사용4xx와 5xx의 차이점
4xx는 클라이언트가 이미 잘못된 요청, 데이터를 보내고 있기 때문에 똑같이 재시도가 실패함
그러나5xx는 서버에 문제가 있기 때문에 같은 요청을 재시도하면 성공할 수도 있음
Authentication)이 되지 않음402 오류 발생시 응답에 WWW-Authenticate헤더와 함께 인증 방법을 설명
Authentication(인증): 본인이 누구인지 확인(로그인)Authorization(인가): 권한 부여(ADMIN 권한처럼 특정 리소스에 접근할 수 있는 권한, 인증이 있어야 인가가 있음)
Unauthorized지만 인증되지 않은 것임500 오류500 오류Retry-After 헤더 필드로 얼마뒤에 복구되는지 보낼 수도 있음강의 출처 : 인프런 : 모든 개발자를 위한 HTTP 웹 기본 지식