Network

HTTP 상태 코드란?

Nowon9159 2023. 1. 2. 14:34
반응형

http status code (https://itnext.io/api-calls-and-http-status-codes-e0240f78f585)

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   서버가 요청을 처리할때 요청에 대한 추가 확장이 필요한경우 뜨는 응답코드
반응형