❓ HTTP 상태 코드란?
HTTP 상태 코드는 HTTP 요청에 대한 서버의 응답을 나타내는 3자리 숫자로 이루어진 코드이다.
상태 코드는 요청이 성공적으로 처리되었는지, 에러가 발생했는지, 또는 추가 조치가 필요한지를 나타낸다.
상태 코드는 주로 5개의 범주로 나뉘며, 각 범주는 특정 종류의 응답을 나타낸다.
1. 1xx(정보)
1xx 상태 코드는 서버가 요청을 수신했으며, 클라이언트가 요청을 계속 진행해야 함을 나타낸다.
이 범주는 정보를 제공하기 위해 사용된다.
- 100 Continue: 요청의 일부가 서버에 도착했으며, 클라이언트가 나머지 요청을 계속 전송해도 된다는 것을 의미함.
- 101 Switching Protocols: 클라이언트의 요청에 따라 서버가 프로토콜을 변경했음을 나타냄.
2. 2xx(성공)
2xx 상태 코드는 요청이 성공적으로 처리되었음을 나타낸다.
- 200 OK: 요청이 성공적으로 처리되었음을 나타냄.
- 201 Created: 요청이 성공적으로 처리되었으며, 새로운 리소스가 생성되었음을 나타냄. 주로 POST 요청에 대해 사용된다.
- 204 No Content: 요청이 성공적으로 처리되었지만, 응답에 본문 내용이 없음을 나타냄. 주로 DELETE 요청 후 사용된다.
3. 3xx (리다이렉션)
3xx 상태 코드는 클라이언트가 요청한 리소스를 현재 위치에서 찾을 수 없으며, 다른 위치에서 확인할 수 있음을 나타낸다.
- 301 Moved Permanently(영구 이동): 요청한 리소스가 영구적으로 다른 URL로 이동했고, 클라이언트는 앞으로 새로운 URL 을 사용해야 함을 의미한다.
- 302 Found(임시 이동): 요청한 리소스가 일시적으로 다른 URL에 위치하고 있음을 나타냄.
- 304 Not Modified: 이전에 요청한 리소스가 서버에서 변경되지 않았음을 나타내며, 클라이언트는 캐시된 버전을 사용할 수 있다.
++) 리다이렉션?
사용자가 처음 요청한 URL이 아닌, 다른 URL로 자동으로 이동시키는 과정을 말한다.
예를 들어, 웹사이트 주소가 변경되었을 때, 이전 주소로 접속한 사용자를 새 주소로 보내는 경우에 사용된다.
4. 4xx (클라이언트 오류)
4xx 상태 코드는 클라이언트의 요청에 문제가 있음을 나타낸다. 요청이 잘못되었거나, 클라이언트가 요청을 처리할 권한이 없을 때 사용된다.
- 400 Bad Request: 서버가 요청을 이해하지 못했거나, 잘못된 요청이 전송되었음을 나타냄.
- 401 Unauthorized: 요청이 인증되지 않았음을 나타냄.
- 403 Forbidden: 서버가 요청을 이해했지만, 요청을 처리할 권한이 없음을 나타냄.
- 404 Not Found: 요청한 자원을 서버에서 찾을 수 없음을 나타냄.
5. 5xx (서버 오류)
5xx 상태 코드는 서버가 요청을 처리하는 중에 오류가 발생했음을 나타낸다. 서버 측 오류로 인해 요청이 완료될 수 없을 떼 사용된다.
- 500 Internal Server Error: 서버에서 예상치 못한 오류가 발생하여 요청을 처리할 수 없음을 의미함.
- 502 Bad Gateway: 서버가 게이트웨이 또는 프록시로서 작동하고 있으며, 상위 서버로부터 잘못된 응답을 받았음을 나타냄.
- 503 Service Unavailable: 서버가 일시적으로 과부하되었거나 유지 보수 중이어서 요청을 처리할 수 없음을 의미함.
- 504 Gateway Timeout: 서버가 게이트웨이 또는 프록시로서 작동하고 있으며, 상위 서버의 응답이 지연되어 시간이 초과되었음을 나타냄.
❗ HTTP 상태 코드의 중요성
HTTP 상태 코드는 클라이언트와 서버 간의 요청 처리 결과를 명확하게 전달한다.
클라이언트는 상태 코드를 통해 요청이 성공했는지, 문제가 발생했는지, 추가 조치가 필요한지 등을 파악할 수 있으며, 개발자는 이를 활용해 웹 애플리케이션의 문제를 디버깅하고 사용자에게 적절한 피드백을 제공할 수 있다.
++) 디버깅?
소프트웨어나 프로그램에서 발생하는 오류(버그)를 찾아 수정하는 과정을 말한다.
💡 참고 자료
https://developer.mozilla.org/ko/docs/Web/HTTP/Status
https://developer.mozilla.org/ko/docs/Web/HTTP/Redirections
https://aws.amazon.com/ko/what-is/debugging/
'Networking' 카테고리의 다른 글
REST API 이해하기 (0) | 2024.09.15 |
---|