[Network] 결과를 전달하는 HTTP 상태 코드
4-1. 상태 코드는 서버로부터 리퀘스트 결과를 전달
- 상태 코드
- 클라이언트가 서버로 리퀘스트 보낸 결과 서버에서 그 결과를 리스폰스로 알려주는 것
- 상태 코드 클래스
클래스 | 설명 | |
---|---|---|
1xx | Informational | 리퀘스트를 받아들여 처리중 |
2xx | Success | 리퀘스트를 정상적으로 처리했음 |
3xx | Redirection | 리퀘스트를 완료하기 위해서 추가 동작이 필요 |
4xx | Client error | 서버는 리퀘스트 이해 불가능 |
5xx | Server Error | 서버는 리퀘스트 처리 실패 |
4-2. 2xx 성공(Success)
4.2.1 200 OK
- 클라이언트가 보낸 리퀘스트를 서버가 정상 처리되었음
- 리스폰스에 상태 코드와 되돌아 오는 정보는 메소드에 따라 다름
- GET 메소드 : 리퀘스트된 리소스에 대응하는 엔티티가 리스폰스로 보내짐
- HEAD 메소드 : 리퀘스트된 리소스에 대응하는 엔티티 헤더 필드가 메시지 바디를 동반하지 않고 리스폰스로 되돌아감
4.2.2 204 No Content
- 서버가 리퀘스트를 받아서 처리하는데 성공했지만 리스폰스에 엔티티 바디를 포함하지 않음
- 클라이언트에서 서버에 정보를 보내는 것으로 족하고, 클라이언트에 새로운 정보를 보낼 필요 없는 경우에 사용
4.2.3 206 Partial Content
- Range로 범위가 지정된 리퀘스트에 의해 서버가 부분적 GET 리퀘스트를 받았음을 나타냄
- 리스폰스에는 Content-Range로 지정된 범위의 엔티티가 포함됨
4-3. 3xx 리다이렉트(Redirection)
4.3.1 301 Moved Permanently
4.3.2 302 Found
- 리퀘스트된 리소스에는 새로운 URI가 할당되어 있어 그 URI를 참조하라는 의미
- 영구적인 이동이 아닌 일시적인 것
4.3.3 303 See Other
- 리퀘스트 대한 리소스는 다른 URI에 있기 때문에 GET 메소드를 사용해서 얻어야 함
4-4. 4xx 클라이언트 에러(Client Error)
4.4.1 400 Bad Request
- 리퀘스트 구문이 잘못되었음을 나타냄
- 리퀘스트 내용을 재검토하고 나서 재송신할 필요가 있음
- 브라우저는 이것을 200 OK로 취급함
4.4.2 401 Unauthorized
4.4.3 403 Forbidden
- 리퀘스트된 리소스의 액세스가 거부되었음을 나타냄
- 서버 측의 거부 이유를 명확하게 할 경우 엔티티 바디에 넣어 유저 측에 표시함
reference
그림으로 배우는 HTTP & Network Basic HTTP 상태코드 REST API 관점에서 바라보는 HTTP 상태 코드