728x90
Http 응답 상태 코드는 특정 HTTP 요청이 성공적으로 완료되었는지 알려주며 정보를 제공, 성공, 리다이렉션, 클라이언트 에러, 서버 에러 그룹으로 나뉜다.
1xx (정보를 제공하는 응답)
요청을 받았고, 작업을 진행 중이라는 의미
- 100(Continue): 클라이언트로부터 일부 요청을 받았으며 나머지를 이어서 보내야 함을 의미 (요청을 완료한 경우 무시)
- 101(Switching Protocol): 요청자가 서버에 프로토콜 전환을 요청했으며 서버는 이를 승인하는 중을 의미
- 102(Processing / WebDAV) : 서버가 요청을 수신하였으며 이를 처리하고 있지만 아직 제대로 된 응답을 알려줄 수 없음을 의미
2xx (성공)
요청한 동작을 수신하여 이해했고 성공적으로 처리했음을 의미
- 200(OK): 서버가 요청을 제대로 처리했다는 뜻을 의미
요청이 성공적으로 되었다는 의미 성공의 의미는 HTTP메소드에 따라 달라진다.
GET : 리소스를 불러와서 메시지 body에 전송되었다.
HEAD : 개체 헤더가 메시지 body에 있다.
PUT 또는 POST : 수행 결과에 대한 리소스가 메시지 body에 전송되었다.
TRACE : 메시지 바디는 서버에서 수신한 요청 메시지를 포함하고 있다.
- 201(Created): 요청이 성공적으로 처리되어서 리소스가 만들어짐을 의미
- 202(Accepted): 요청이 받아들여졌지만 처리되지 않음을 의미
- 203(Non-Authoritative Information): 응답받은 메타정보가 서버에 저장된 원본하고는 동일하지 않지만 로컬이나 다른 복사본에서 수집되었음을 의미 (보통 200 응답 코드가 우선적으로 응답)
- 204(No Content): 서버가 요청을 성공적으로 처리했지만 콘텐츠를 제공하지 않음을 의미
- 205(Reset Content): 서버가 요청을 성공적으로 처리했지만 콘텐츠를 표시하지 않음을 의미
- 206(Partial Content): 서버가 GET 요청의 일부만 성공적으로 처리했음을 의미.
3xx (리다이렉션)
요청을 완료하기 위해서는 리다이텍션이 이루어져야 한다는 의미
- 300(Multiple Choice) : 서버에서 여러 개의 응답이 있음을 의미
- 301(Moved Permanently): 요청한 URI가 옮겨졌을 때 사용 옮겨진 URI에 대한 정보와 함께 응답함을 의미
- 302(Found): 요청한 리소스의 URI가 일시적으로 변경되었음을 의미. 하지만 클라이언트는 옮겨지기 전 URI로 요청해야 함을 의미.
- 303(See Other): 클라이언트가 요청한 리소스를 다른 URI로 GET 요청을 해야 함을 의미
- 304(Not Modified): 클라이언트에게 응답이 수정되지 않았음을 의미 (브라우저에 캐시되어 있는 버전을 사용하기도 함)
- 307(Temporary Redirect): 302와 동일하게 일시적인 컨텐츠 이동을 나타낼 때 사용되나, HTTP Method도 변경 없이 요청해야 함을 의미
- 308(Permanent Redirect) : 301과 동일하게 일시적인 컨텐츠 이동을 나타낼 때 사용되나, HTTP Method도 변경 없이 요청해야 함을 의미
4xx (클라이언트 에러)
요청이 올바르지 않다는 의미
- 400(Bad Request): 잘못된 문법으로 인하여 서버가 요청을 이해할 수 없음을 의미
- 401(Unauthorized): 인증이 필요한 리소스에 인증 없이 접근한 경우를 의미(반드시 브라우저에 어느 인증 방식을 사용할 것인지 보내야 한다. (401 : 인증 X, 403 : 인가 X)
- 403(Forbidden): 서버가 요청을 거부할 때 발생함을 의미 (관리자가 해당 사용자를 차단한 경우, 권한이 없는 경우)
- 404(Not Found): 서버가 요청한 페이지(Resource)를 찾을 수 없음을 의미.
- 405(Method Not Allowed): 요청한 URI가 Method를 지원하지 않음을 의미 (POST요청에 대한 응답을 하는 URI에 GET으로 요청)
- 406(Not Acceptable): 요청은 정상이나 정해준 규격에 따른 어떠한 콘텐츠도 찾지 못한 경우를 의미 (웹 방화벽에 걸리는 경우)
- 407(Proxy Athentication Required): 401과 비슷하지만 프록시를 통하여 인증을 할 것을 의미
- 408(Request Timeout): 요청 중 시간이 초과되었음을 의미(서버는 요청을 끊을 수 있음)
- 409(Conflict): 클라이언트의 요청에 대해 서버에서 출돌 요소가 발생할 수 있음을 의미
- 410(Gone): 404와는 달리 찾는 리소스가 영원히 사라진 경우를 의미(404 : 있는데 못 찾는 것, 410 : 없어서 못 찾는 것)
- 411(Length Required): 서버에서 필요로 하는 Content-Length 헤더 필드가 정의되지 않은 요청이 들어온 경우를 의미
- 412(Precondition Failed): 사용자가 서버로 조건부 요청(Condition Request)을 할 때 서버의 전제 조건과 사용자의 전제 조건이 맞지 않아 서버에서 응답을 거부함을 의미
- 413(Payload Too Large): 요청이 너무 커서 처리할 수 없음을 의미
- 414(URI Too Long): 요청 URI가 너무 길어 처리할 수 없음을 의미
- 415(Unsupported Media Type): 요청한 미디어 타입이 서버에서 지원하지 않는 타입이라 응답을 거부함을 의미
- 416(Requested Range Not Satisfiable): 클라이언트의 요청 내용의 범위가 잘못되었음을 의미
- 417(Expectation Faild): 서버는 Expect : 클라이언트 요청 헤더의 Expect에 대해 서버가 만족하지 않음을 의미
5xx (서버 에러)
올바른 요청에 대해 서버가 응답할 수 없다는 의미
- 500(Internal Server Error): 서버에 오류가 발생하여 요청을 수행할 수 없음을 의미
- 501(Not Implemented): 서버에 요청을 수행할 수 있는 기능이 없음을 의미. (서버가 요청 메소드를 인식하지 못할 때 이 코드를 표시한다.)
- 502 (Bad Gateway): 게이트웨이가 연결된 서버로부터 잘못 된 응답을 받았음을 의미
- 503(Service Temporarily Unavailable): 서비스를 일시적으로 사용할 수 없음을 의미
- 504(Gateway Timeout): 게이트웨이가 연결된 서버로부터 응답을 받을 수 없는 경우
- 505(HTTP Version Not Supported): 서버가 지원할 수 없거나 올바르지 못한 프로토콜로 요청을 받았음을 의미
- 506(Variant Also Negotiates) 서버 내부 구성에 오류가 있어 반환되는 값에 컨텐츠 협상이 순환참조로 이루어져 있다는 것을 의미
728x90
'참고' 카테고리의 다른 글
쿠키 vs 세션 ? (0) | 2021.07.06 |
---|---|
Redis Architecture OverView (0) | 2021.06.27 |
[AWS]ElastiCache (0) | 2021.06.27 |
비동기 통신 (0) | 2021.06.27 |
[MQ] KafKa (0) | 2021.06.10 |
댓글