728x90
HTTP status codes.
웹 서버가 클라이언트의 요청을 처리한 결과를 나타내는 3자리 숫자 코드.
이 코드는 요청의 성공 여부, 실패 원인, 리다이렉션 여부 등을 알려준다.
크게 1xx (정보), 2xx (성공), 3xx (리다이렉션), 4xx (클라이언트 오류), 5xx (서버 오류) 등으로 분류할 수 있다.
일상적인 웹 개발에서 자주 볼 수 있는 상태 코드를 노란색 배경으로 표시해봤다.😉
1xx: 정보 (Informational)
요청이 수신되었으며 처리 중
- 100 Continue: 클라이언트가 서버에 요청을 보냈으며, 서버는 이 요청이 아직 진행중임을 알리고 추가로 데이터를 전송할 준비가 되어있음을 의미. 클라이언트는 계속 요청을 진행할 수 있음.
- 101 Switching Protocols: 서버가 클라이언트의 요청에 따라 프로토콜을 변경하고 있다는 의미. 예를 들어 http에서 WebSocket으로 변경될 때 사용된다.
- 102 Processing: 서버가 요청을 수신하였고, 처리가 진행 중.
2xx: 성공 (Success)
요청이 성공적으로 처리되었음
- 200 OK: 가장 흔히 사용되는 상태코드. 클라이언트의 요청이 성공적으로 처리되었음. 클라이언트가 요청한 리소스가 정상적으로 반환되거나 해당 요청에 대한 처리가 성공적으로 완료되었음.
- 201 Created: 클라이언트의 요청이 성공적으로 처리되었고, 그 결과 새로운 리소스가 생성되었음. 예를 들어 POST 요청을 통해 새로운 데이터를 생성할때 반환됨.
- 202 Accepted: 요청이 수신되었지만 처리가 완료되지 않음.
- 203 Non-Authoritative Information: 요청이 성공했으나 반환된 메타데이터가 원래 서버의 정보가 아님.
- 204 No Content: 요청이 성공적으로 처리되었으나 반환할 내용이 없음.
- 205 Reset Content: 클라이언트가 요청을 완료한 후 콘텐츠를 리셋하라는 지시.
- 206 Partial Content: 요청이 부분적으로 성공하여 일부만 반환됨.
- 207 Multi-Status: 여러 상태 정보를 포함한 응답 (주로 WebDAV에서 사용).
- 208 Already Reported: WebDAV에서 이전에 보고된 상태 정보가 반복적으로 포함된 경우.
- 226 IM Used: 조건부 요청의 결과로 생성된 리소스임을 나타냄.
3xx: 리다이렉션 (Redirection)
요청한 리소스가 다른 위치로 이동했음
- 300 Multiple Choices: 요청한 리소스에 여러 선택지가 있음.
- 301 Moved Permanently: 요청한 리소스가 영구적으로 다른 위치로 이동되어, 클라이언트가 앞으로는 변경된 URI로 요청을 보내야 한다는 의미.
- 302 Found: 요청한 리소스가 일시적으로 다른 URL로 이동함.
- 303 See Other: POST 요청 후 다른 URL로 리디렉션.
- 304 Not Modified: 클라이언트가 요청한 리소스가 이전에 받은 것과 동일하며 변경되지 않아서 다시 다운로드할 필요 없음. 클라이언트는 캐시된 리소스를 그대로 사용할 수 있다.
- 305 Use Proxy: 요청된 리소스는 반드시 프록시를 통해 접근해야 함.
- 307 Temporary Redirect: 요청한 리소스가 임시적으로 다른 URI로 이동되어, 클라이언트는 동일한 HTTP 메서드를 사용해 새로운 URI로 요청을 보내야 한다.
- 308 Permanent Redirect: 요청한 리소스가 영구적으로 다른 URI로 이동되어, 클라이언트는 앞으로 항상 새로운 URI를 사용해야 한다.
4xx: 클라이언트 오류 (Client Error)
클라이언트의 요청에 문제가 있음.
- 400 Bad Request: 클라이언트가 서버에 잘못된 요청을 보냈음. 요청 문법이 잘못되었거나 필요한 파라미터가 누락된 경우에 발생할 수 있다.
- 401 Unauthorized: 인증이 필요하며, 유효하지 않은 인증 정보가 제공됨. 클라이언트가 요청을 하기 위해 인증이 필요하지만, 인증 정보가 없거나 잘못된 경우. 클라이언트가 올바른 자격 증명을 제공해야하는 상황. 예를 들어 로그인 없이 인증이 필요한 페이지에 접근하려는 경우에 발생할 수 있다.
- 403 Forbidden: 클라이언트가 서버에 적절한 권한이 없어 요청이 금지된 경우. 클라이언트가 이미 인증되었더라도, 해당 리소스에 대한 접근 권한이 없음을 의미. 예를 들어 관리자 권한이 없는 유저가 관리자 페이지에 접근하려는 경우에 발생할 수 있다.
- 404 Not Found: 클라이언트가 요청한 리소스를 찾을 수 없음. 요청한 URL이 잘못되었거나 서버에서 해당 리소스가 삭제된 경우.
- 405 Method Not Allowed: 클라이언트가 요청한 HTTP 메서드가 서버에서 지원되지 않음. 예를 들어 GET 요청만 허용되는 리소스에 POST 요청을 보냈을 경우에 발생할 수 있다.
- 406 Not Acceptable: 요청한 리소스가 요청한 Accept 헤더에 대한 응답으로 사용할 수 없음.
- 407 Proxy Authentication Required: 프록시 서버에 대한 인증이 필요함.
- 408 Request Timeout: 클라이언트가 요청을 완료하기 전에 서버가 시간 초과됨.
- 429 Too Many Requests: 클라이언트가 지정된 시간 내에 너무 많은 요청을 보냄.
5xx: 서버 오류 (Server Error)
서버에 문제 발생
- 500 Internal Server Error: 서버에서 클라이언트의 요청을 처리하는 중에 예기치 못한 문제가 발생함. 서버의 내부 문제로 인해 요청을 완료할 수 없는 경우에 발생할 수 있다.
- 501 Not Implemented: 요청한 기능이 서버에서 지원되지 않음.
- 502 Bad Gateway: 서버가 게이트웨이로서 다른 서버로부터 잘못된 응답을 받았을 경우. 일반적으로 프록시 서버나 게이트웨이 서버가 응답을 처리하는 중에 발생할 수 있다.
- 503 Service Unavailable: 서버가 일시적으로 과부하되었거나 유지 보수 중이라 요청을 처리할 수 없음. 서버를 잠시동안 사용할 수 없다는 의미.
- 504 Gateway Timeout: 게이트웨이나 프록시 서버가 다른 서버로부터 응답을 기다리다가 시간 초과됨. 서버가 게이트웨이 역할을 하는 동안 요청한 서버로부터 응답을 제때 받지 못했을 경우. 네트워크 문제 또는 요청한 서버의 과부하로 인해 발생할 수 있다.
- 505 HTTP Version Not Supported: 서버가 요청에 사용된 HTTP 프로토콜 버전을 지원하지 않음.
- 511 Network Authentication Required: 클라이언트가 인터넷에 액세스하기 위해 인증이 필요함.
728x90
'📚 자료실' 카테고리의 다른 글
MVC, MVVM, MVP, MVI 디자인 패턴과 데이터 흐름 (0) | 2024.11.29 |
---|---|
WS, WAS의 차이 (0) | 2024.11.26 |
쉘과 커널, Powershell과 Bash, CMD (1) | 2024.10.15 |
SFTP, FTP, SSH 기본 개념 (0) | 2024.10.15 |
프로토콜의 개념과 종류, OSI 7계층, TCP/IP 4계층 (0) | 2024.10.15 |