❗ 100번대
Informational
❗ 200번대
Successful
- 요청 정상 처리
- 200 : OK, GET 요청에 대한 성공
- 201 : Created. 요청 성공해서 새로운 리소스 생성됨.
- 202 : Accepted. 요청이 접수되었으나 처리가 완료되지 않았음.
- 204 : No Content. 성공했으나 응답 본문에 데이터가 없음.
- 205 : Reset Content. 성공했으나 클라이언트의 화면을 새로고침하도록 권고
❗ 300번대
Redirection
- 요청을 완료하려면 추가 행동이 필요
- 301 : Moved Permanently, 요청한 자원이 새 URL에 존재, 리다이렉트시 요청 메서드가 GET으로 변하고, 본문이 제거될 수 있음
- 302 : Found, 요청한 자원의 URL이 일시적으로 변경됨. 새롭게 변경된 URI는 나중에 만들어질 수 있음. 그러므로, 클라이언트는 향후의 요청도 반드시 동일한 URI로 해야 함. 리다이렉트시 요청 메서드가 GET으로 변하고, 본문이 제거될 수 있음.
- 303 : See Other, 요청한 자원이 임시 주소에 존재. 클라이언트가 요청한 리소스를 다른 URI에서 GET 요청을 통해 얻어야 할 때, 서버가 클라이언트로 직접 보내는 응답
- 304 : Not Modified, 요청한 자원이 변경되지 않았으므로 클라이언트에서 캐싱된 자원을 사용하도록 권고. ETag와 같은 정보를 활용하여 변경 여부를 확인 (캐시 목적으로 사용됨)
- 307 : Temporary Redirect, 클라리언트가 요청한 리소스가 다른 URI에 있으며, 이전 요청과 동일한 메소드를 사용하여 요청해야 함. 302와 비슷, 리다이렉트시 요청 메서드와 본문 유지(요청 메서드를 변경하면 안된다.)
- 308 : Permanent Redirect, 요청한 자원이 새 URL에 존재, 301과 비슷, 리다이렉트시 요청 메서드와 본문 유지(처음 POST를 보내면 리다이렉트도 POST 유지)
❗ 400번대
Client Error
- 클라이언트 오류, 잘못된 문법 등으로 서버가 요청을 수행할 수 없음
- 400 : Bad Request, 잘못된 요청(잘못된 문법으로 요청)
- 401 : Unauthorized, 권한 없이 요청. 클라이언트가 해당 리소스에 대한 인증이 필요함.
- 403 : Forbidden, 서버에서 해당 자원에 대해 접근 금지
- 404 : Not Found, 요청 리소스를 찾을 수 없음.
- 405 : Method Not Allowed, 허용되지 않은 요청 메서드
- 409 : Conflict, 최신 자원이 아닌데 업데이트하는 경우. ex) 파일 업로드 시 버전 충돌
❗ 500번대
Server Error
- 서버 오류, 서버가 정상 요청을 처리하지 못함
- 500 : Internal Sever Error, 서버가 처리 방법 모름
- 501 : Not Implemented, 요청한 동작에 대해 서버가 수행할 수 없는 경우
- 503 : Service Unavailable, 서버가 과부하 또는 유지 보수로 내려간 경우