본문 바로가기
knowledge

HTTP 상태 코드에 대해

by Status Code 2023. 3. 8.

 

HTTP(HyperText Transfer Protocol)는 인터넷에서 데이터를 주고받기 위한 프로토콜로서, 서버와 클라이언트 간의 통신을 위한 규약을 정의합니다. HTTP 요청(Request)과 응답(Response)는 각각 상태 코드(Status Code)를 반환합니다. 상태 코드는 클라이언트에게 요청 결과에 대한 상태를 알려주는 정보를 담고 있습니다.

 

1. HTTP 상태 코드란?

HTTP 상태 코드는 서버에서 클라이언트로 전송되는 HTTP 응답(Response) 메시지에 포함되어 있습니다. 이는 요청 결과에 대한 상태를 알려주는 정보를 담고 있으며, 3자간 통신에서도 유용하게 사용됩니다.

 

2. 상태 코드의 분류

HTTP 상태 코드는 5개의 클래스로 분류됩니다.

- 1xx (Informational): 요청을 받았으며 프로세스를 계속한다.
- 2xx (Successful): 요청을 성공적으로 받았으며 인식했고 수용했으며 처리했다.
- 3xx (Redirection): 요청 완료를 위해 추가 작업 조치가 필요하다.
- 4xx (Client Error): 요청에 대한 구문이 잘못되었거나 요청을 처리할 수 없다.
- 5xx (Server Error): 서버가 유효한 요청에 대해 충족을 실패했다.

 

3. 대표적인 상태 코드

HTTP 상태 코드에는 다양한 종류가 있지만, 이 중에서 대표적인 몇 가지를 살펴보겠습니다.

- 200 OK: 요청이 성공적으로 처리되었다는 의미입니다.
- 201 Created: 요청이 성공적으로 처리되어 새로운 리소스가 생성되었다는 의미입니다.
- 204 No Content: 요청이 성공적으로 처리되었지만, 클라이언트에게 반환할 콘텐츠가 없다는 의미입니다.
- 301 Moved Permanently: 요청한 리소스가 새로운 URL로 영구적으로 이동되었다는 의미입니다.
- 400 Bad Request: 잘못된 요청이 전송되었다는 의미입니다.
- 401 Unauthorized: 권한 인증에 실패했다는 의미입니다.
- 403 Forbidden: 요청이 거부되었다는 의미입니다.
- 404 Not Found : 요청한 리소스를 찾을 수 없음을 나타냅니다. 이는 잘못된 URL을 입력하거나 존재하지 않는 페이지를 요청한 경우 등에 발생합니다.
- 500 Internal Server Error : 서버에서 요청을 처리하는 도중에 오류가 발생했음을 나타냅니다. 이는 서버에서 처리하는 코드에서 오류가 발생한 경우 등에 발생합니다.

 

예시로, 브라우저에서 "http://www.example.com/abc"를 요청하였을 때, 해당 페이지가 존재하지 않는 경우 404 Not Found 상태 코드가 반환됩니다. 이를 브라우저는 해석하여 사용자에게 적절한 메시지를 보여주게 됩니다.

또한, 서버에서 예기치 못한 오류가 발생하여 요청을 처리하지 못한 경우 500 Internal Server Error 상태 코드가 반환됩니다. 이 경우 서버 측에서 오류를 해결해야 합니다.

HTTP 상태 코드는 클라이언트와 서버 간의 통신에서 매우 중요한 역할을 합니다. 이를 이해하고 적절하게 활용하는 것은 웹 개발에서 필수적인 기술입니다.

댓글