HTTP 상태 코드는 웹 서버와 클라이언트 간의 통신 결과를 나타내는 코드입니다.
이들은 대략적으로 다음과 같은 카테고리로 분류됩니다:
- 2xx (성공): 클라이언트의 요청이 성공적으로 수행되었음을 나타냅니다.
- 3xx (리다이렉션): 클라이언트를 다른 URL로 리다이렉션해야 함을 나타냅니다.
- 4xx (클라이언트 오류): 클라이언트의 요청에 오류가 있음을 나타냅니다.
- 5xx (서버 오류): 서버가 유효한 요청을 처리하지 못했음을 나타냅니다.
각 범주에서 자주 사용되는 HTTP 상태 코드를 정리하면 다음과 같습니다:
2xx 성공
- 200 OK: 요청이 성공적으로 처리되었습니다.
- 201 Created: 요청이 성공적으로 처리되었으며, 새로운 리소스가 생성되었습니다.
- 204 No Content: 요청이 성공적으로 처리되었으나, 전송할 콘텐츠가 없습니다.
3xx 리다이렉션
- 301 Moved Permanently: 요청한 리소스가 영구적으로 새 위치로 이동했습니다.
- 302 Found: 요청한 리소스가 일시적으로 다른 URI에 위치해 있음을 나타냅니다.
- 304 Not Modified: 클라이언트가 조건부 GET 요청을 했고, 문서가 변경되지 않았습니다. 클라이언트는 캐시된 버전을 사용할 수 있습니다.
4xx 클라이언트 오류
- 400 Bad Request: 서버가 요청을 이해할 수 없습니다.
- 401 Unauthorized: 인증이 필요한 페이지를 요청했습니다.
- 403 Forbidden: 서버가 요청을 거부합니다.
- 404 Not Found: 서버가 요청한 페이지(Resource)를 찾을 수 없습니다.
- 405 Method Not Allowed: 요청된 메소드는 허용되지 않습니다.
5xx 서버 오류
- 500 Internal Server Error: 서버 내부 오류로 요청을 수행할 수 없습니다.
- 501 Not Implemented: 서버가 요청 메소드를 지원하지 않거나 구현할 수 없습니다.
- 502 Bad Gateway: 서버가 게이트웨이나 프록시 역할을 하며, 상류 서버로부터 잘못된 응답을 받았습니다.
- 503 Service Unavailable: 서버가 일시적으로 요청을 처리할 준비가 되어 있지 않습니다. 일반적으로 서버 과부하나 유지보수로 인한 것입니다.
- 504 Gateway Timeout: 게이트웨이/프록시 서버가 상류 서버로부터 시간 내에 응답을 받지 못했습니다.