<TIL> 142. HTTP response status codes

YUJIN LEE·2023년 8월 25일
0

개발log

목록 보기
134/149

HTTP 응답 상태 코드

클라이언트가 서버에 요청을 보낼 때 그 요청의 결과가 어떻게 되었는지 알려주는 것

Informational responses(100 - 199)

100 Continue

클라이언트가 요청을 계속해야 하거나 요청이 이미 완료된 경우 응답을 무시해야함

101 Switchcing Protocols

클라이언트의 요청 헤더에 대한 응답으로 전송, 서버가 전환하는 프로토콜

102 Processing

서버가 요청을 수신해 처리 중 이지만, 아직 응답X

103 Early Hints

주로 헤더와 함께 사용, 서버가 응답을 준비하는 동안 Link사용자가 리소스를 미리 로드하기 시작할 수 있게함

Successful responses(200 - 299)

200 OK

요청 성공.

201 Created

요청 성공, 결과적으로 새 리소스 생성.

202 Accepted

요청이 수신되었지만 아직 실행X.
HTTP에서는 나중에 요청결과를 나타내는 비동기 응답을 보낼 수 없어, 아직 비커밋.
다른 프로세스나 서버가 요청을 처리하는 경우나 일괄처리를 위한 것.

203 Non-Authoritative Information

반환된 메타데이터가 원본 서버에서 사용할 수 있는 것과 정확히 동일하지 않지만,
로컬 또는 타사 복사본에서 수집되었음을 의미.
-> 주로 다른 리소스의 미러나 백업에 사용.

204 No Content

요청에 보낼 콘텐츠는 없지만, 헤더에 유용.
사용자는 이 리소스에 대해 캐시된 헤더를 새 헤더로 업뎃 가능

205 Reset Content

요청을 보낸 문서를 재설정하도록 사용자에 지시

206 Partial Content

리소스의 일부만 요청하기 위해 클라이언트에서 헤더를 보낼 때 사용

207 Multi-Status

여러 상태 코드가 적절할 수 있는 상황에 대해 여러 리소스에 대한 정보 전달

208 Already Reported

동일한 컬렉션에 대해 여러 바인딩의 내부 멤버를 반복적으로 열거하지 않기 위해 응답 요소 내부에서 사용

226 IM Used

서버는 GET 리소스에 대한 요청 이행, 응답은 현재 인스턴스에 적용된 하나 이상의 인스턴스 조작 결과 나타냄.

Redirection messages(300 - 399)

300 Multiple Choices

요청에 가능한 응답 2개 이상 존재.
사용자는 둘 중 하나를 선택.

301 Moved Permanently

요청한 리소스 URL 영구변경. 새 URL이 응답에 제공

302 Found

요청한 리소스의 URI가 일시적으로 변경됨 의미
URI가 추가로 변경될 수 있다.
따라서 클라이언트는 향후 요청에서도 동일한 URI 사용해야함

303 See Other

서버는 클라이언트가 GET 요청을 통해 다른 URI에서 요청한 리소스를 가져오도록 지시

304 Not Modified

캐싱 목적. 응답이 수정되지 않음을 클라이언트에 알리므로 클라이언트는 캐시된 동일한 버전의 응답 사용

305 Use Proxy

요청된 응답이 프록시에 의해 액세스함을 나타내기 위해 이전 버전의 HTTP 사양에서 정의.
프록시의 대역 내 구성과 관련된 보안 문제로 인해 더이상 사용X

306 unused

HTTP/1.1 사양에서 사용됨

307 Temporary Redirect

서버는 이전 요청에 사용된 것과 동일한 방법으로 다른 URI에서 요청된 리소스를 가져오도록 클라이언트에 지시.

308 Permanent Redirect

리소스가 Location: HTTP 응답 헤더에 지정된 다른 URI에 영구적으로 위치함을 의미.

Client error responses(400 - 499)

400 Bad Request

서버는 클라이언트 오류로 인식되는 사항으로 인해 요청을 처리할 수 없거나 처리하지 않음

401 Unauthorized

인증되지 않음 -> 클라이언트는 요청된 응답을 얻으려면 인증필요

402 Payment Required

응답코드는 향후 사용을 위해 존재.
이 코드를 생성하는 초기 목표는 디지털 결제 시스템에 사용되는 것.
하지만 지금 현재 거의 사용하지않음.

403 Forbidden

클라이언트는 콘텐츠에 대한 액세스 권한 없음.

404 Not Found

서버가 요청한 리소스 찾을 수 없음.
브라우저에서 URL이 인식되지 않음을 의미.
API에서 엔드포인트가 유효하지만 리소스 자체가 존재하지 않음을 의미할 수도 있다.

405 Method Not Allowed

요청방법은 서버에 알려졌지만, 대상 리소스에서는 지원하지 않음.
ex. delete 호출 허용하지 않음

406 Not Acceptable

웹 서버가 서버 기반 콘텐츠 협상을 수행 후 사용자 에이전트가 제공한 기준을 준수하는 컨텐츠를 찾지 못함

407 Proxy Authentication Required

프록시를 통해 인증을 수행해야함

408 Request Timeout

클라이언트의 이전요청 없이도 일부 서버의 연결에서 전송.
서버가 사용되지 않는 연결 종료함을 의미.

409 Conflict

요청이 서버의 현재 상태와 충돌할 때 전송

410 Gone

요청한 콘텐츠가 전달 주소 없이 서버에서 영구적으로 삭제되었을 때 전송.
클라이언트는 캐시와 리소스 제거 필요.

411 Length Required

Content-Length 헤더 필드가 정의되지 않고, 서버에서 요구하기 때문에 서버가 요청 거부.

412 Precondition Failed

클라이언트는 서버가 충족하지 않는 전제조건을 헤더에 표시

413 Payload Too Large

요청 엔티티가 서버에서 정의한 제한보다 큼.
서버는 연결을 닫거나, Retry-After 헤더 필드를 반환.

414 URI Too Long

클라이언트가 요청한 URI가 서버가 해석할 수 있는 것보다 길다.

415 Unsupported Media Type

요청한 데이터의 미디어 형식이 서버에서 지원하지 않아 서버 요청 거부

416 Range Not Satisfiable

Range 요청의 헤더 필드에 지정된 범위 이행 불가.
범위가 대상 URI의 데이터 크기를 벗어난 가능성 존재

417 Expectation Failed

요청 헤더 필드에 표시된 기대 사항을 Expect 서버에서 충족할 수 없음 의미.

418 I'm a teapot

?? 서버는 찻주전자로 커피를 끓이려는 시도 거부.. ??
HTCPCP Hyper Text Coffee Pot Control Protocol

421 Misdirected Request

요청이 응답을 생성할 수 없는 서버로 전달.

422 Unpocessable Content

요청의 형식은 올바르지만 의미 오류로 인해 따를 수 없다.

423 Locked

액세스 중인 리소스가 잠김

424 Failed Dependency

이전 요청의 실패로 인해 요청 실패

425 Too Early

서버가 재생될 수 있는 요청을 처리하는 위험을 감수할 의사가 없음 의미

426 Upgrade Required

서버는 현재 프로토콜을 사용한 요청 수행을 거부하지만 클라이언트가 다른 프로토콜로 업그레이드한 후 사용 가능.

428 Precondition Required

원본 서버에서는 조건부 요청 요구.
업데이트 손실 문제 방지하기 위해.

429 Too Many Requests

사용자가 주어진 시간 동안 너무 많은 요청 보냄 -> 속도 제한

431 Request Header Fields Too Large

헤더 필드가 너무 커서 서버가 요청 처리 불가.
요청 헤더 필드의 크기를 줄인 후 요청 다시 제출 가능

사용자 에이전트가 합법적으로 제공할 수 없는 리소스 요청

Server error responses(500 - 599)

500 Internal Server Error

서버에 처리 방법을 알 수 없는 상황 발생

501 Not Implemented

요청 방법이 서버에서 지원되지 않아 처리 불가.

502 Bad Gateway

서버가 요청을 처리하는데 필요한 응답을 얻기 위해 게이트웨이로 작동하는 동안 잘못된 응답을 받았음을 의미

503 Service Unvailable

서버가 요청을 처리할 준비가 되지 않음.
일반적인 원인 -> 서버가 다운되었거나 과부하 발생.

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

클라이언트가 네트워크 액세스를 얻으려면 인증해야함

참조문헌

profile
인정받는 개발자가 되고싶습니다.

0개의 댓글