반응형
HTTP 상태 코드
- 상태 코드는 세 자리 숫자로 되어 있는데 첫 번째 숫자는 HTTP 응답의 종류를 구분하는 데 사용하며 나머지 2개의 숫자는 세부적인 응답 내용 구분을 위한 번호
응답 코드 | 설명 | 분류 | 설명 |
---|---|---|---|
100 | Continue | 정보 교환 | 클라이언트로부터 일부 요청을 받았으니 나머지 요청 정보를 계속 보내주길 바람. (HTTP 1.1에서 처음 등장) |
101 | Switching Protocol | 서버는 클라이언트의 요청대로 Upgrade 헤더를 따라 다른 프로토콜로 바꿀 것임. (HTTP 1.1에서 처음 등장) | |
102 | Processting | 사용자가 수신 요청을 해 처리하고 있지만, 아직은 제대로 된 응답을 할 수 없는 상태 | |
103 | Early Hints | Link해더와 함께 사용되며 주로 서버가 응답을 준비하는 동안 사용자가 사전로딩(PreLoading)을 할수 있도록 하는 응답코드 | |
200 | OK | 성공 응답 | 데이터 전송이 성공적으로 이루어졌거나, 이해되었거나, 수락되었음. |
201 | Created | 요청이 성공적으로 처리되어 리소스가 만들어진 경우 | |
202 | Accepted | 요청이 받아들여졌지만 처리가 되지 않았음 | |
203 | Non-Authoritative Information | 응답받은 메타정보가 서버에 저장된 원본과 동일하지 않지만, 로컬이나 다른 복사본에서 수집됨 | |
204 | No Content | 성공적으로 처리했지만 컨텐츠를 제공하지 않음 | |
205 | Reset Content | 새 문서 없음. 하지만 브라우저는 문서 창을 리셋해야 함. (브라우저가 CGI 폼 필드를 전부 지우도록 할 때 사용됨.) (HTTP 1.1에서 처음 등장) | |
206 | Partial Content | 컨텐츠의 일부분만 제공, 보통 클라이언트에서 시작 범위나 다운로드할 범위를 지정한 경우 자동으로 해당 부분만 제공할 때 사용하는 코드 클라이언트가 Range 헤더와 함께 요청의 일부분을 보냈고 서버는 이를 수행했음. (HTTP 1.1에서 처음 등장) | |
207 | Multi-Status | 여러 소스에서 여러 응답인 상태에서 적절한 정보를 사용자에게 제공할 수 있도록 하는 코드 | |
208 | Multi-Status | DAV 바인딩 멤버는 이미 응답의 앞 부분에 열거 되어있으며 다시 포함되지 않는다는 의미로 응답하는 코드 | |
226 | IM Used | 서버가 사용자의 GET 요청에 대한 리소스의 의무는 다했고, 현재 인스턴스에서 적용된 하나 이상의 인스턴스 조작 결과를 보낼 때 사용되는 코드 | |
300 | Multiple Choice | 리다이렉션 메시지 | |
301 | Moved Permanently | 요구한 데이터를 변경된 URL에서 찾았음. | |
302 | Found | 요구한 데이터가 변경된 URL에 있음을 명시. 301과 비슷하지만 새 URL은 임시 저장 장소로 해석됨. | |
303 | See Other | 서버가 사용자의 GET요청을 처리하여 다른URL에서 요청된 정보를 가져올수 있도로 응답하는 코드 | |
304 | Not Modified | 200 다음으로 자주보는 상태, 이 경우 브라우저에 캐시되어 있는 버전을 사용 | |
305 | Use Proxy | 요청된 문서는 Location 헤더에 나열된 프록시를 통해 추출되어야 함. (HTTP 1.1에서 처음 등장) | |
307 | Temporary Redirect | 302와 동일하게 일시적인 컨텐츠 이동을 나타낼때 사용되나, HTTP 메소드의 변경을 허용하지 않음 | |
308 | Permanent Redirect | 301와 동일하게 영구적인 컨텐츠 이동을 나타낼때 사용되나, HTTP 메소드의 변경을 허용하지 않음 | |
400 | Bad Request | 클라이언트 에러 응답 | 요청 자체가 잘못되었을 때 사용됨 |
401 | Unauthorized | 인증이 필요한 리소스에 인증없이 접근한 경우 발생, 이 응답코드를 사용할 때에는 반드시 브라우저에 어떤 인증방식을 이용할 것인지를 보내야 함 | |
403 | Forbidden | 서버가 요청을 거부할 때 발생한다. 관리자가 해당 사용자를 차단했거나 서버에 index.html 이 없는 경우에도 발생함 | |
404 | Not Found | 찾는 리소스가 없다는 뜻 | |
405 | Method Not Allowed | PUT이나 DELETE 등 서버에서 허용되지 않은 메소드로 요청시 사용하는 코드 | |
406 | Not Acceptable | 요청은 정상이나 서버에서 받아들일 수 없는 요청일시 사용하는 코드, 보통 웹 방화벽에 걸리는 경우 이 코드가 반환됨 | |
407 | Proxy Authentication Required | 프록시 인증이 필요할 경우 사용하는 코드 | |
408 | Request Timeout | 요청 중 시간이 초과되었을때 사용하는 코드 | |
409 | Conflict | 사용자의 요청이 서버의 상태와 충돌하여 응답하는 코드 | |
410 | Gone | 찾는 리소스가 영원히 사라진 경우 사용하는 코드이다. 404가 그런 게 없어서 못 찾는 경우라면, 410은 있었던 것이 없어져서 못 찾는 것 | |
411 | Length Required | 클라이언트가 헤더에 Content-Length를 포함하지 않으면 서버가 처리할 수 없음.(HTTP 1.1에서 새로 등장) | |
412 | Precondition Failed | 선결조건 실패. 헤더에 하나 이상의 선결조건을 서버에서 충족시킬 수 없음. | |
413 | Payload Too Large | 요청된 문서가 현재 서버가 다룰 수 있는 크기보다 큼. (HTTP 1.1에서 새로 등장) | |
414 | URI Too Long | 요청한 URI가 너무 김. | |
415 | Unsupported Media Type | 요청이 알려지지 않은 형태임. (HTTP 1.1에서 새로 등장) | |
416 | Range Not Satisfiable | 요청의 범위 헤더 필드에 지정된 범위를 충족할 수 없습니다. 범위가 대상 URI의 데이터 크기를 벗어날 수 있습니다. | |
417 | Expectation Failed | 이 응답 코드는 서버가 기대 요청 헤더 필드에 표시된 기대치를 충족할 수 없음을 의미합니다. | |
418 | I'm a teapot | 나는 찻주전자 클라이언트입니다 오류 응답 코드는 서버가 영구적으로 찻주전자이기 때문에 커피 추출을 거부한다는 것을 나타냅니다. 일시적으로 커피가 없는 커피/티포트 겸용 포트는 대신 503을 반환해야 합니다. 이 오류는 1998년과 2014년에 만우절 농담으로 정의된 하이퍼 텍스트 커피 포트 제어 프로토콜에 대한 참조입니다. | |
421 | Misdirected Request | 요청이 응답을 생성할 수 없는 서버로 전송되었습니다. 요청 URI에 포함된 체계와 권한의 조합에 대한 응답을 생성하도록 구성되지 않은 서버에서 이 문제를 전송할 수 있습니다. | |
422 | Unproccessable Entity | 요청은 잘 작성되었지만 의미론적 오류로 인해 요청을 따를 수 없습니다. | |
423 | Locked | 액세스 중인 리소스가 잠겨 있습니다. | |
424 | Failed Dependency | 이전 요청이 실패하여 요청에 실패했습니다. | |
426 | Upgrade Required | 서버는 현재 프로토콜을 사용하여 요청을 수행하는 것을 거부하지만 클라이언트가 다른 프로토콜로 업그레이드한 후에는 기꺼이 수행할 수 있습니다. 서버는 426 응답으로 업그레이드 헤더를 전송하여 필요한 프로토콜을 표시합니다. | |
428 | Precondition Required | 원본 서버는 요청이 조건부여야 합니다. 이 응답은 클라이언트가 리소스의 상태를 GET으로 수정한 후 서버에 다시 게시할 때 제3자가 서버의 상태를 PUT 해 충돌이 발생하는 '업데이트 손실' 문제를 방지하기 위한 것입니다. | |
429 | Too Many Requests | 일정 시간 동안 너무 많은 요청을 보냈을 때 이를 거부하기 위해 사용 | |
431 | Request Header Fields Too Large | 서버가 헤더 필드가 너무 커서 요청을 처리할 수 없습니다. 요청 헤더 필드의 크기를 줄인 후 요청을 다시 제출할 수 있습니다. | |
451 | Unavailable For Legal Reasons | 국가 검열 등, 법적인 이유로 차단되었을 경우 사용할 수 있도록 정의된 코드 | |
500 | Internal Server Error | 서버 내부 오류 | 서버에 오류가 발생해 작업을 수행할 수 없을 때 사용된다. 보통 설정이나 퍼미션 문제. 아니면 HTTP 요청을 통해 호출한 문서가 실제 HTML 문서가 아니라 JSP, PHP, 서블릿 등의 프로그램일 경우 그 프로그램이 동작하다 세미콜론을 빼먹는 등의 각종 에러로 비정상 종료를 하는 경우 이 응답코드를 보낸다. |
501 | Not Implemented | 서버가 요청을 수행하는데 필요한 기능을 지원하지 않는 경우 사용 | |
502 | Bad Gateway | 게이트웨이가 연결된 서버로부터 잘못된 응답을 받았을 때 사용 | |
503 | Service Unavailable | 서비스를 일시적으로 사용할 수 없을 때 사용된다. 주로 웹서버 등이 과부하로 다운되었을 때 볼 수 있다. | |
504 | Gateway Timeout | 게이트웨이가 연결된 서버로부터 응답을 받을 수 없었을 때 사용 | |
505 | HTTP Version Not Supported | 해당 HTTP 버전을 지원하지 않음. | |
506 | Variant Also Negotiates | 서버 내부 구성(값)에 오류가 있어 반환되는 값에 컨텐츠 협상이 순환 참조로 이루어져 있다는걸 알려주는 코드 | |
507 | Insufficient Storage | 서버 내부 구성(값)에 오류가 있어 선택된 가변 리소스는 투명한 콘텐츠 협상에 참여하도록 구성되므로 협상 과정에서 적절한 끝점이 아님을 알려주는 코드 | |
508 | Loop Detected | 서버가 요청을 처리하는 동안 무한 루프를 발견하였을 때 뜨는 응답코드 | |
510 | Not Extended | 서버가 요청을 처리할때 요청에 대한 추가 확장이 필요한경우 뜨는 응답코드 | |
511 | Network Authentication Required | 서버가 요청을 처리할때 요청에 대한 추가 확장이 필요한경우 뜨는 응답코드 |
반응형
'Network' 카테고리의 다른 글
Domain 에러 확인 및 대응 (0) | 2024.05.31 |
---|---|
Nginx에서 Upstream의 의미 (0) | 2024.05.22 |
Web Socket 통신이란? (0) | 2023.09.22 |
localhost 와 127.0.0.1 차이 (0) | 2023.08.01 |
NAT와 NAPT란? (0) | 2023.07.06 |