[HTTP] HTTP 상태 코드 내용 정리

HTTP 상태 코드란 ? 


클라이언트가 서버에 요청을 보냈을 때, 서버가 클라이언트에게 응답할 때 사용되는 코드이다.

 

우리가 가끔 과거에 존재했던 사이트지만 지금은 존재하지 않을 경우 404 코드가 뜨면서 Not Found 를 본 적이 있을 것이다.

 

 

뿐만 아니라 네이버나 구글 등 유명한 사이트는 해당 404 에러 발생시 다른 화면으로 전환되게 만들어놨다.

 

아래의 URL 을 입력 후 접속해보면 해당 화면을 발견할 수 있다.

https://www.naver.com/test

 

F12 키 을 눌러 console를 확인해보면 404 에러가 발생했음을 알 수 있다.

 

 

이렇게 서버 응답 코드에 따라 사용자가 어떻게 대처해야되는 지 알려줄 수 있는 수단이기에 한 번 정리해보았다.

 

 

 

HTTP 상태 코드


ℹ️ 1xx (정보 응답)

요청을 받았으며 프로세스를 계속한다는 의미

 

code result content
100 Continue 클라이언트가 서버에 요청의 일부를 보냈으며, 서버가 이를 수신하고 나머지 요청을 계속해서 보내라는 경우
101 Swutching Protocol 클라이언트가 서버에 프로토콜 전환을 요청했으며, 서버가 이를 승인한 경우
102 Processing 서버가 요청을 수신하였으며 이를 처리 중이나 아직 완료되지 않았음을 나타내는 경우
103 Early Hints 서버가 아직 최종 응답을 준비하지 않았지만, 클라이언트가 일부 리소스를 미리 로드할 수 있도록 힌트를 제공하는 경우

 

 

 

✅ 2xx (성공 응답)

요청이 성공적으로 처리되었다는 의미

 

code result content
200 OK 요청이 성공적으로 처리되었을 경우
201 Created 요청이 성공적으로 처리되었으며, 새로운 리소스가 생성되었을 경우
202 Accepted 요청이 수락되었으나 아직 처리되지 않을경우
203 Non-Authoritative Infomation 요청이 성공적으로 처리되었으나, 반환된 메타 정보가 원본 서버의 것이 아니라 로컬 등의 서버임을 나타낼 경우
204 No Content 요청이 성공적으로 처리되었으나, 반환할 콘텐츠가 없음을 나타내는 경우
205 Reset Content 요청이 성공적으로 처리되었으며, 클라이언트는 문서 보기를 초기화해야 함을 나타내는 경우
206 Partial Content 요청이 부분적이지만 성공적으로 처리되었음을 나타낼 경우
207 Multi-Status 여러 상태 코드가 포함된 다중 응답을 나타낼 경우
208 Multi-Status DAV 다중 상태 응답 내에서 사용되며, 내부 멀티 상태 응답에서 이미 응답된 요소를 반복하지 않음을 나타낼 경우
226 IM Used 서버가 GET 요청을 처리하여 하나 이상의 인스턴스 조작이 성공적으로 적용 되었음을 나타낼 경우

 

 

 

 

🗂️ 3xx (리다이렉션)

클라이언트는 요청을 완료하기 위해 추가 작업을 수행해야된다는 의미

code result content
300 Multiple Choice 요청한 리소스에 여러 개의 선택사항이 있으며, 사용자가 그 중 하나를 선택할 수 있음을 나타내는 경우
301 Moved Permanently 요청한 리소스가 영구적으로 새로운 URL 로 이동되었음을 나타내는 경우
302 Found 요청한 리소스가 일시적으로 다른 URL 에 있음을 나타내는 경우
303 See Other 요청한 리소스가 다른 URL 에 있음을 나타내며, GET 메서드를 사용하여 접근해야 함을 나타내는 경우
304 Not Modified 요청한 리소스가 수정되지 않았음을 나타내며, 클라이언트는 캐시된 버전을 계속 사용해도 되는 경우
307 Temporary Redirect 요청한 리소스가 일시적으로 다른 URL 에 있음을 나타내며, 요청 메서드를 변경하지 않고 리디렉션할 것을 나타내는 경우
308 Permanent Redirect 요청한 리소스가 영구적으로 새로운 URL 로 이동되었음을 나타내며 요청 메서드를 변경하지 않고 리디렉션할 것을 나타낼 경우

 

 

 

👤 4xx (클라이언트 오류)

클라이언트의 요청에 오류가 있다는 의미

 

code result content
400 Bad Request 서버가 잘못된 구문으로 인해 요청을 이해할 수 없음을 나타낼 경우
401 Unauthorized 요청에 인증 정보가 필요하거나 제공된 인증 정보가 유효하지 않음을 나타낼 경우
403 Forbidden 서버가 요청을 이해했지만 승인을 거부했음을 나타낼 경우
404 Not Found 서버가 요청한 리소스를 찾을 수 없음을 나타낼 경우
405 Method Not Allowed 요청한 메서드가 서버에서 허용되지 않음을 나타낼 경우
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 요청한 엔티티가 서버에서 처리하기에는 너무 큼을 나타낼 경우
414 URI Too Long 요청한 URI 가 서버에서 처리하기에는 너무 길음을 나타낼경우
415 Unsupported Media Type 요청한 미디어 타입이 서버에서 지원되지 않음을 나타낼 경우
416 Requested Range Not Satisfiable 요청한 범위가 리소스의 범위를 초과했음을 나타낼 경우
417 Expectation Failed 서버가 클라이언트의 Expect 헤더 요구사항을 충족할 수 없음을 나타낼 경우
418 I'm a teapot 만우절 응답
421 Misdirected Request 서버가 이 요청을 처리하지 못하는 서버에 수신되었음을 나타낼 경우
422 Unporcessable Entity 서버가 요청을 이해했으나 처리할 수 없음을 나타낼 경우
423 Locked 요청한 리소스가 잠겨 있음을 나타낼 경우
424 Failed Dependency 이전 요청이 실패했기 때문에 현재 요청도 실패했음을 나타낼 경우
426 Upgrade Required 클라이언트가 다른 프로토콜로 전환해야 함을 나타낼 경우
428 Precondition Required 서버가 요청을 처리하기 전에 전제 조건을 요구함을 나타낼 경우
429 Too Many Requests 클라이언트가 일정 시간 내에 너무 많은 요청을 보냈음을 나타낼 경우
431 Request Header Fields Too Large 요청한 헤더 필드가 너무 커서 서버가 처리할 수 없음을 나타낼 경우
451 Unavailble For Legal Reasons 법적 이유로 요청한 리소스를 사용할 수 없음을 나타낼 경우

 

 

🖥️ 5xx (서버 오류) 

서버가 요청을 처리하는 중에 오류가 발생했다는 의미

 

code result content
500 Internal Server Error 서버에서 일반적인 오류가 발생하여 요청을 처리할 수 없음을 나타낼 경우
501 Not Implemented 서버가 요청한 기능을 지원하지 않음을 나타낼 경우
502 Bad Gateway 게이트웨이 또는 프록시 서버가 상위 서버로부터 잘못된 응답을 받았음을 나타낼 경우
503 Service Unavilable 서버가 일시적으로 과부하 상태이거나 유지보수 중임을 나타낼 경우
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 네트워크 접근을 위해 인증이 필요함을 나타낼 경우