본문 바로가기

WEB SERVER

[ HTTP ] 응답코드 정리

응답코드 란?

서버가 클라이언트 요청을 처리하고 난 후 상태에 따라 반환하는 코드입니다.

코드는 크게 다섯 가지 종류가 있습니다.

 

• 1XX : 조건부 응답

• 2XX : 성공

• 3XX : 리다이렉션 완료

• 4XX : 요청 오류

• 500 : 서버 오류

 

● 1XX 조건부 응답

클라이언트가 데이터를 일부만 포함해 보내어 서버가 데이터를 더 보내라고 하는 응답 코드입니다.

 

• 100 : 클라이언트가 계속해서 요청하거나 요청을 완료한 경우 무시해도 되는 것을 알려 줍니다. (Continue)

• 101 : 클라이언트가 보낸 Upgrade 요청 해더에 대한 응답, 서버에서 프로토콜 변경할것임을 알림 (Switching Protocols)

• 102 : 서버가 요청을 수신하였으며 이를 처리하고 있지만, 아직 제대로 된 응답을 알려줄 수 없음 (Processing)

• 103 : (Early Hints)

 

● 2XX 성공

서버가 클라이언트로부터의 요청을 성공적으로 처리한 후 반환하는 응답 코드입니다.

 

• 200 : 서버가 클라이언트의 요청을 성공적으로 처리, 웹 페이지에서는 페이지 요청이 정상적으로 완료 (Ok)

• 201 : 서버가 요청된 클라이언트의 정보를 정상적으로 저장 (Created)

• 202 : 요청 접수만 되고 아직 처리되지 않은 상태, 서버는 현재의 상태를 보여주는 페이지를 제공해 주어야 함 (Accepted)

• 203 : 정보를 신뢰할 수 없는 경우 (Non-authoritative Information)

• 204 : 클라이언트로 반환되는 데이터가 없을 때, 즉, 빈 콘텐츠 제공 (No contetnt)

• 205 : 서버는 요청을 성공적으로 처리, 반환되는 콘텐츠가 비어 있을 경우 클라이언트로부터 재설정시키는 코드 (Reset Content)

• 206 : 일부 콘텐츠 (Partial Content)

• 207 : 다중 상태 (Multi-Status)

• 208 : 이미 보고됨 (Already Reported)

• 226 : 서버가 GET 요청에 대한 리소스의 의무를 다 했고, 응답이 하나 이상의 인스턴스 조작이 현재 적용됨을 알림 (IM Used)

 

많이 사용되는 응답 코드는 200, 201, 204 입니다.

 

● 3XX 새로고침 완료

클라이언트가 요청을 완료하기 위해 작업이 남아있는 코드입니다. 보통 새로고침을 한 경우 반환하는 응답 코드입니다.

 

• 300 : 여러 선택 항목 (Multiple Choices)

• 301 : 영구 이동 (Moved Permanently)

• 302 : 임시 이동 (Found)

• 303 : 기타 위치 보기 (See Other)

• 304 : 수정되지 않음 (Not Modified)

• 305 : 프록시 사용 (Use Proxy)

• 306 : 코드는 더이상 사용되지 않으며, 추후 사용을 위해 예약 (Unused)

• 307 : 임시 새로고침 (Temporary Redirect)

• 308 : 영구 새로고침 (Permanent Redirect)

 

많이 사용되는 응답 코드는 301, 302, 303, 304, 307 입니다.

 

● 4XX 요청 오류

클라이언트의 요청이 잘못됐을 때 반환하는 응답 코드입니다. 즉, 문제 발생 원이이 클라이언트에 있습니다.

 

• 400 : 잘못 요청 (Bad Request)

• 401 : 권한 없음, 예를 들면, 로그인 페이지가 필요한 페이지를 로그인 없이 접속하려는 경우 반환되는 코드 (인증 실패) (Unauthorized)

• 402 : 결제 필요 (Payment Required)

• 403 : 금지됨, 로그인 된 사용자 관리자 페이지를 접속하려고 시도하는데 관리자가 아닐 경우 반환되는 코드 (인가) (Forbidden)

• 404 : 찾을 수 없음, 존재하지 않는 URL을 요청 페이지를 접속할 수 없을때 반환되는 코드 (Not Found)

• 405: 잘못된 요청 메소드 사용 (Method Not Allowed)

• 406: 허용되지 않음 (Not Acceptable)

• 407 : 프록시 인증 필요 (Proxy Authentication Required)

• 408 : 요청 시간 초과 (Request Timeout)

• 409 : 충돌 (Conflict)

• 410 : 사라짐 (Gone)

• 411 : 길이 필요 (Length Required)

• 412 : 사전 조건 실패 (Precondition Failed)

• 413 : 요청 속성이 너무 큼 (Payload Too Large)

• 414 : 사전 조건 실패 (Request-URI Too Long)

• 415 : 지원되지 않는 미디어 유형 (Unsupported Media Type)

• 416 : 처리할 수 없는 요청 범위 (Requested Range Not Satisfiable)

• 417 : 예상 실패 (Expextation Failed)

• 418 : 서버는 커피를 찻 주전자에 끓이는 것을 거절합니다. (I'm a teapot)

• 420 : (Enhance Your Calm)

• 421 : 서버로 유도된 욧청은 응답을 생성할 수 없습니다. (Misdirected Request)

• 422 : 처리할 수 없는 엔티티 (Unprocessable Entity)

• 423 : 잠김 (Locked)

• 424 : 메소드 실패 (Failed Dependency)

• 425 : 정렬되지 않은 컬렉션 (Reserved for WebDAV)

• 426 : 업그레이드 필요 (Upgrade Required)

• 428 : 전제조건 필요 (Precondition Required)

• 429 : 너무 많은 요청 (Too Many Requests)

• 431 : 요청 헤더 필드가 너무 큼 (Request Header Fields Too Large)

444 : 응답 없음 (No Response)

449 : 다시 시도 (Retry With)

450 : 법적 문제로 이용 불가 (Blocked by Windows Parental Controls)

451 : 리다이렉션 (Unavailable For Legal Reasons)

494 : 요청 헤더가 너무

495 : cert 오류 (cert = 인증키)

496 : cert 없음 (cert = 인증키)

497 : http to https

499 : 클라이언트가 요청을 닫음 (Client Closed Request)

 

많이 사용되는 응답코드는 400, 401, 403, 404, 405 입니다

 

● 5XX 서버 오류

서버의 설정, 코드 등의 문제로 오류가 났을 때 반환되는 코드입니다.

 

500 : 내부 서버 오류, 보통 서버 코드의 문제 반환되는 응답 코드 (Internal Server Error)

501 : 구현되지 않음 (Not Implemented)

502 : 불량 게이트웨이 ( 서버를 게이트웨이라고 부르기도 ) (Bad Gateway)

503 : 서비스를 사용할 없음 (Service Unavailable)

504 : 게이트웨이 시간 초과 (Gateway Timeout)

505 : http 버전이 지원이되지 않음, 경우 https 사용 (HTTP Version Not Supported)

506 : 서버에 내부 구성 오류가 있다. 즉, 요청을 위한 투명한 콘텐츠 협상이 순환 참조로 이어진다. (Variant Also Negotiates)

507 : 용량 부족 (Insufficient Storage)

508 : 루프 감지 (Loop Detected))

509 : 대역폭 제한 초과 (Bandwidth Limit Exceeded)

510 : 확장되지 않음 (Not Extended)

511 : 네트워크 인증 필요 (Network Authentication Required)

598 : 네트워크 읽기 시간 초과 오류

599 : 네트워크 연결 시간 초과 오류 (Network Connect Timeout Error)

 

많이 사용되는 응답코드는 500, 502, 503, 504, 505 입니다.

 

참고 링크

1. https://httpstatuses.com/

 

HTTP Status Codes — httpstatuses.com

HTTP Status Codes httpstatuses.com is an easy to reference database of HTTP Status Codes with their definitions and helpful code references all in one place. Visit an individual status code via httpstatuses.com/code or browse the list below.

httpstatuses.com

2. https://en.wikipedia.org/wiki/List_of_HTTP_status_codes

 

List of HTTP status codes - Wikipedia

This is a list of Hypertext Transfer Protocol (HTTP) response status codes. Status codes are issued by a server in response to a client's request made to the server. It includes codes from IETF Request for Comments (RFCs), other specifications, and some ad

en.wikipedia.org

3. https://developer.mozilla.org/ko/docs/Web/HTTP/Status

 

HTTP 상태 코드

번역 작업 진행중입니다. HTTP 응답 상태 코드는 특정 HTTP 요청이 성공적으로 완료되었는지 알려줍니다. 응답은 5개의 그룹으로 나누어집니다: 정보를 제공하는 응답, 성공적인 응답, 리다이렉트, 클라이언트 에러, 그리고 서버 에러. 상태 코드는 section 10 of RFC 2616에 정의되어 있습니다. 정보 응답 100 Continue 이 임시적인 응답은 지금까지의 상태가 괜찮으며 클라이언트가 계속해서 요청을 하거나 이미 요청을 완료한 경우에는 무

developer.mozilla.org

이상 응답코드 정리 글 마칩니다. 

끝까지 봐 주셔서 감사합니다 ʕ ·ᴥʔ

 

 

'WEB SERVER' 카테고리의 다른 글

EC2 Nginx 설치  (0) 2018.12.10