HTTP 상태 코드의 구조와 종류
by 볼빵빵오춘기HTTP 상태 코드
- HTTP 응답 상태 코드는 특정 HTTP 요청이 성공적으로 완료되었는지 알려준다.
따라서, 이 코드는 클라이언트가 요청이 성공했는지, 실패했는지, 또는 추가적인 작업이 필요한지를 이해하는 데 도움이 된다. - HTTP 상태 코드는 클라이언트가 보낸 요청에 대한 서버의 응답을 나타내는 3자리 숫자로 구성된 코드이다.
- 응답은 5개의 그룹으로 나누어진다.(정보를 제공하는 응답, 성공적인 응답, 리다이렉트, 클라이언트 에러, 그리고 서버 에러)
HTTP 상태 코드의 구조
HTTP 상태 코드는 세 자리 숫자로 구성되며, 첫 번째 자리는 상태 코드의 범주를 나타낸다.
- 1xx (정보): 요청을 받았으며 프로세스를 계속한다.
- 2xx (성공): 요청을 성공적으로 받았으며 인식하고 수락한다.
- 3xx (리다이렉션): 요청을 완료하려면 추가 작업이 필요하다.
- 4xx (클라이언트 오류): 요청에 오류가 있어 서버가 요청을 처리할 수 없다.
- 5xx (서버 오류): 서버가 요청을 처리하지 못 했다.
주요 HTTP 상태 코드
1xx: 정보
- 100 Continue: 클라이언트가 요청의 일부를 전송했으며, 서버는 이를 수신했으므로 계속 요청을 전송해도 좋다.
- 101 Switching Protocols: 클라이언트의 요청에 따라 프로토콜을 변경하고 있다.
2xx: 성공
- 200 OK: 요청이 성공적으로 수행되었다.
- 201 Created: 요청이 성공적이었으며, 서버가 새로운 리소스를 생성했다.
- 202 Accepted: 요청이 접수되었으나 처리가 완료되지 않았다.
- 204 No Content: 요청이 성공적이었으나 반환할 콘텐츠가 없다.
3xx: 리다이렉션
- 300 Multiple Choices: 요청에 대한 여러 가지 응답이 가능하다.
- 301 Moved Permanently: 요청한 리소스의 URI가 영구적으로 변경되었다.
- 302 Found: 요청한 리소스가 일시적으로 다른 URI에 있다.
- 304 Not Modified: 클라이언트가 캐시한 버전이 최신이다.
4xx: 클라이언트 오류
- 400 Bad Request: 잘못된 문법으로 인해 서버가 요청을 이해할 수 없다.
- 401 Unauthorized: 요청에 대한 인증이 필요하다.
- 403 Forbidden: 서버가 요청을 이해했지만, 권한이 없어 거부되었다.
- 404 Not Found: 요청한 리소스를 찾을 수 없다.
- 405 Method Not Allowed: 요청에 사용된 HTTP 메서드가 허용되지 않는다.
- 409 Conflict: 요청이 리소스 상태와 충돌한다.
5xx: 서버 오류
- 500 Internal Server Error: 서버에서 요청을 처리하는 중에 오류가 발생했다.
- 501 Not Implemented: 서버가 요청을 지원하지 않는다.
- 502 Bad Gateway: 게이트웨이 또는 프록시 서버가 상위 서버로부터 잘못된 응답을 받았다.
- 503 Service Unavailable: 서버가 일시적으로 요청을 처리할 수 없다.
- 504 Gateway Timeout: 게이트웨이 또는 프록시 서버가 상위 서버로부터 응답을 기다리는 동안 시간이 초과되었다.
정리
- HTTP 상태 코드는 서버와 클라이언트 간의 의사소통을 원활하게 하기 위해 설계된 응답 코드이다.
- 각 코드가 의미하는 바를 이해하면 웹 개발, 디버깅, API 통합 등의 작업에서 큰 도움이 된다.
참고링크
https://developer.mozilla.org/ko/docs/Web/HTTP/Status
https://www.youtube.com/results?search_query=HTTP+상태+코드의+구조
'👩🏻💻 About 프로그래밍 > ect' 카테고리의 다른 글
@RestController vs @Controller (2) | 2024.07.15 |
---|---|
어노테이션 역할과 사용 용도 (0) | 2024.07.15 |
http 상태에러 401 Unauthorized vs 403 Forbidden (0) | 2024.07.13 |
프레임워크 vs 라이브러리 vs API (0) | 2024.07.03 |
Java 8, Java 11, Java17 자바 버전별 특징 (1) | 2024.06.14 |
블로그의 정보
Hello 춘기's world
볼빵빵오춘기