HTTP 응답 코드는 HTTP 요청에 대한 서버의 응답을 나타내는 3자리 숫자를 말한다.
이 숫자는 해당 요청이 성공했는지, 실패했는지, 그리고 어떤 종류의 오류가 발생했는지를 나타낸다.
응답코드는 크게 5개 분류로 나뉘는데 100, 200, 300, 400, 500번대이다.
상태코드의 분류별 특징
- 100번대 (처리 중) : 이 코드는 요청이 수신되었으며 처리가 계속되고 있다는 것을 말해준다. 일반적으로 클라이언트의 추가 작업이 필요하다. 예를 들어 101 Switching Protocols는 서버와 클라이언트 간의 프로토콜을 변경했다는 뜻이다.
- 200번대 (성공): 200번대 응답 코드는 성공적으로 처리되었음을 나타낸다. 예를 들어, 200 OK는 요청이 성공적으로 처리되었다는 것을 나타내며, 201 Created는 새로운 리소스가 성공적으로 생성되었다는 것을 나타낸다.
- 300번대 (리다이렉션): 300번대 응답 코드는 리다이렉션을 말한다. 즉, 요청한 리소스가 다른 위치에 있고, 새로운 위치로 이동하도록하는 요청이다. 예를 들어, 301 Moved Permanently는 요청한 리소스가 영구적으로 새로운 URL로 이동되었다는 것을 나타내며, 302 Found는 요청한 리소스가 일시적으로 새로운 URL로 이동되었다는 것을 말한다.
- 400번대 (클라이언트 오류): 400번대 응답 코드는 클라이언트 오류를 나타낸다. 즉, 클라이언트가 요청한 것이 잘못되었거나 부적절한 경우에 볼 수 있다. 예를 들어, 400 Bad Request는 클라이언트가 유효하지 않은 요청을 보냈다는 것을 나타내며, 401 Unauthorized는 클라이언트가 인증되지 않았다는 것을 나타낸다.
- 500번대 (서버 오류): 500번대 응답 코드는 서버 오류를 말해준다. 즉, 서버에서 요청을 처리하는 동안 문제가 발생한 경우다. 예를 들어, 500 Internal Server Error는 서버에서 오류가 발생했다는 것을 나타내며, 503 Service Unavailable은 서버가 일시적으로 사용 불가능하다는 것을 말해준다.
각 응답 코드는 위처럼 분류된다.
세부 상태코드 의미
1xx - Informational (정보)
응답코드 | 의미 |
100 | 요청이 수신되었으며 클라이언트는 계속해서 요청하거나 무시해도 된다. |
101 | 서버가 클라이언트의 업그레이드 요청을 수락하였으며, 프로토콜을 변경하였다. |
2xx - Successful (성공)
응답코드 | 의미 |
200 | 클라이언트의 요청이 성공적으로 처리되었다. |
201 | 서버가 성공적으로 새로운 리소스를 생성했다. |
204 | 서버가 요청을 성공적으로 처리했으나, 응답 데이터가 없다. |
3xx - Redirection (리디렉션)
응답코드 | 의미 |
301 | 클라이언트가 요청한 리소스가 새로운 위치로 영구적으로 이동했다. |
302 | 클라이언트가 요청한 리소스가 새로운 위치로 일시적으로 이동했다. |
304 | 클라이언트가 요청한 리소스가 수정되지 않아서, 캐시된 버전을 사용할 수 있다. |
4xx - Client Error (클라이언트 오류)
응답코드 | 의미 |
400 | 클라이언트의 요청이 잘못되었다. |
401 | 클라이언트가 인증되지 않았다. |
403 | 클라이언트가 요청한 리소스에 대한 액세스 권한이 없다. |
404 | 클라이언트가 요청한 리소스를 찾을 수 없다. |
5xx - Server Error (서버 오류)
응답코드 | 의미 |
500 | 서버에서 요청을 처리하는 동안 오류가 발생했다. |
502 | 게이트웨이나 프록시 서버에서 잘못된 응답을 받았다. |
503 | 서버가 일시적으로 사용 불가능하거나 과부하 상태다. |
HTTP 응답 코드는 클라이언트와 서버 간의 통신에서 중요한 역할을 한다. 그래서 이러한 응답 코드의 세부 내용을 이해하고 적절히 대응하는 것이 중요하다.
물론 이 외에도 많은 상태코드들이 있다. 이외의 상태코드에 대해서는 아래 링크를 통해 확인하면 좋을 것 같다.
참고 : https://developer.mozilla.org/ko/docs/Web/HTTP/Status
HTTP 상태 코드 - HTTP | MDN
HTTP 응답 상태 코드는 특정 HTTP 요청이 성공적으로 완료되었는지 알려줍니다. 응답은 5개의 그룹으로 나누어집니다: 정보를 제공하는 응답, 성공적인 응답, 리다이렉트, 클라이언트 에러, 그리고
developer.mozilla.org
'Network, Web' 카테고리의 다른 글
[Network] HTTP와 HTTP의 여러버전들 (0) | 2023.04.06 |
---|---|
[Network] 소켓과 포트의 의미와 차이점 (0) | 2023.04.06 |
[NetWork] nginx를 사용한 정적 웹페이지 호스팅 (0) | 2023.03.27 |
[Network/Database] HTTP의 메소드와 데이터베이스의 CRUD (2) | 2023.03.16 |
[Network] DNS의 질의과정은 어떻게 될까? (0) | 2023.03.15 |