상태코드란?
- 클라이언트가 서버에게 리퀘스트를 보냈을 때 결과가 어떻게 되었는지 알려주는 코드
- 200 OK 처럼 3자리 숫자와 설명으로 나타내고 맨 앞 숫자는 클래스를 의미한다.
클래스
- 1xx (Informational) : 처리중
- 2xx (Success) : 정상적으로 처리했음
- 3xx (Redirection) : 작업을 완료하기 위해 추가 작업 필요
- 4xx (Client Error) : 클라이언트 측 문제로 인해 리퀘스트를 처리할 수 없음
- 5xx (Server Error) : 서버 측 문제로 인해 리퀘스트를 처리할 수 없음
대표적인 상태 코드들
- 200 OK
클라이언트가 보낸 리퀘스트를 정상 처리
- 204 No Content
서버가 리퀘스트를 받아 처리했지만 돌려줄 리소스가 없어 엔티티 바디를 포함하지 않고 리스폰스
* 클라이언트에서 서버에 정보를 보내는 것만이 목적일 때 사용
- 206 Partial Content
서버에서 범위가 지정된 리퀘스트를 받았음
- 301 Moved Permanently
기존 URI가 변경되어 새 URI로 재송신(리다이랙션)
POST로 요청했다면 GET으로 바꿔 리다이랙션하고 기존에 작성한 데이터들은 삭제될 수 있다.
- 302 Found
웹사이트에 문제가 생겼을 때 임시 페이지로 재송신
- 303 See Other
302와 같은 기능이지만 리다이렉트 장소를 GET 메소드로 얻어야 한다고 명확히 하는 게 다른점
- 304 Not Modified
조건부 리퀘스트에 리소스는 있는데 조건이 맞지 않을 때 사용됨
- 400 Bad Request
잘못된 리퀘스트
- 401 Unauthorized
인증이 필요 또는 인증 실패
- 403 Forbidden
리퀘스트된 리소스가 엑세스 거부됨
* 엔티티 바디에 명확한 이유
404 Not Found
리퀘스트한 리소스가 서버에 없음
- 500 Internal Server Error
서버에서 리퀘스트를 처리하는 도중 에러 발생
- 503 Service Unavailable
서버가 점검 중이거나 과부하 상태라 현재 리퀘스트를 처리하기 어려움
'네트워크 > HTTP' 카테고리의 다른 글
HTTP와 서버 (0) | 2021.08.21 |
---|---|
REST API (0) | 2021.08.20 |
HTTP 메시지 구조 (0) | 2021.08.13 |
HTTP의 기본 구조 (0) | 2021.08.12 |
프로토콜 (0) | 2021.08.11 |