HTTP(Hypertext Transfer Protocol)는 웹 서버와 클라이언트 간의 통신을 위한 프로토콜이다. 서버가 클라이언트의 요청에 응답하는 과정에서 발생하는 여러 상황을 나타내기 위해 HTTP 상태 코드가 사용된다. 상태 코드는 RFC 9110에 정의되어 있다. 1
1xx: 정보
1xx 시리즈의 상태 코드는 요청이 수신되었으며 처리가 진행 중임을 나타낸다. 주로 클라이언트에 추가 정보를 제공하거나 요청을 계속 진행할 것인지 여부를 알려준다.
- 100 (Continue): 클라이언트가 요청을 계속할 수 있음을 나타낸다.
- 101 (Switching Protocols): 서버가 업그레이드 요청을 수락하고 프로토콜을 변경할 것임을 나타낸다.
2xx: 성공
2xx 시리즈의 상태 코드는 클라이언트의 요청이 성공적으로 처리되었음을 나타낸다.
- 200 (OK): 요청이 성공적으로 처리되었음을 나타낸다.
- 201 (Created): 요청이 성공적으로 처리되었고 새로운 리소스가 생성되었음을 나타낸다.
- 204 (No Content): 요청이 성공적으로 처리되었지만 응답 본문에 컨텐츠가 없음을 나타낸다.
3xx: 리다이렉션
3xx 시리즈의 상태 코드는 요청을 완료하기 위해 추가 조치가 필요함을 나타낸다.
- 301 (Moved Permanently): 요청한 리소스가 새 위치로 영구적으로 이동되었음을 나타낸다.
- 302 (Found): 요청한 리소스가 일시적으로 새 위치로 이동되었음을 나타낸다.
4xx: 클라이언트 오류
4xx 시리즈의 상태 코드는 클라이언트 측의 오류로 인해 요청을 처리할 수 없음을 나타낸다.
- 400 (Bad Request): 클라이언트의 요청이 잘못되었음을 나타낸다. 2
- 401 (Unauthorized): 요청한 리소스에 대한 인증이 필요함을 나타낸다. 클라이언트가 인증되지 않은 상태에서 보호된 리소스에 접근하려고 할 때 주로 발생한다. 3
- 403 (Forbidden): 서버가 요청을 거부했음을 나타낸다.[ 클라이언트가 요청을 수행할 권한이 없는 경우에 사용된다. 4
- 404 (Not Found): 요청한 리소스를 찾을 수 없음을 나타낸다. 서버가 요청한 URI에 해당하는 리소스를 찾을 수 없는 경우에 발생한다. 5
5xx: 서버 오류
5xx 시리즈의 상태 코드는 서버 측의 오류로 인해 요청을 처리할 수 없음을 나타낸다.
- 500 (Internal Server Error): 서버가 요청을 처리하는 동안 예기치 않은 오류가 발생했음을 나타낸다.
- 503 (Service Unavailable): 서버가 현재 요청을 처리할 수 없음을 나타낸다.
출처
'Computer Science' 카테고리의 다른 글
[Network][스크랩] Bearer Authentication 헤더 규칙이 정해진 배경 (0) | 2024.06.24 |
---|---|
Reactive Programming (0) | 2024.04.16 |
[Network] REST API - Naming Convention, Best Practice (0) | 2024.04.06 |
[Network] REST API (0) | 2024.04.06 |
[CS] 시스템 분석 설계 (0) | 2024.04.06 |