본문 바로가기
ComputerScience/Network

HTTP 상태코드

by whitele 2021. 7. 1.
반응형

HTTP의 상태 코드

 http의 상태 코드는 리퀘스트 처리결과에 대해서 알려주는 코드이다. 정상적으로 처리된 경우 평소와 같이 이용하기 때문에 어떤 코드인지 알 수 없지만(f12 개발자 모드로 확인할 수 있다.) 흔히 503, 404 같은 상태 코드는 흔히 봤을 것이며 이런 코드는 페이지 자체를 못 띄우고 다른 이미지나 텍스트를 띄우기 때문에 흔히 봤을 것이다. 기본적인 상태 코드는 RFC2616 문서에 정의되어 있고 이외 확장된 상태 코드(RFC6585 문서에 정의)도 존재한다. RFC2616에 대해서만 다루며 상태 코드를 응답 코드라고도 하며 100번대는 거의 볼 경우가 없다

 

 

 

상태 코드 목록

 

2XX Success

200 OK

 리퀘스트가 성공적으로 수행되었음을 알리는 코드이다. 메서드 별로 돌아오는 정보가 다르다.

202 Accepted

 리퀘스트가 처리를 위해 접수하였으나 처리가 되지 않은 상태

203 Non-Authoritative infromation

 비 인증된 정보. 엔티티 헤더의 메타 데이터가 서버에서 사용할 수 없음

204 No Content

 리퀘스트를 처리했으나 응답할 데이터가 없음

205 Reset Content

 리퀘스트를 처리하였고 리퀘스트를 발송하게 한 문서를 지워야 함

206 Partial Content

 리소스에 대한 부분적 Get 리퀘스트를 완료하였고 Range 헤더를 표시하여야 한다.

 

 

3XX Redirection

300 Multiple choice

 리퀘스트 리소스가 자신의 특유 위치를 가지고 있는 것 중 하나와 대응되며 리퀘스트를 해당 위치로 재설정할 수 있도록 사용자 주도의 협상 정보를 제공

301 Moved Permanently

 리퀘스트한 리소스에 대해 새로운 URI가 영구히 변경되었으며 앞으로 해당 URI로 재연결 할 것

302 Moved Temporaily

 리퀘스트한 리소스가 임시 URI로 변경됨. 리다이렉션이 변경될 수 있어 계속 리퀘스트 URI를 사용해야 함

303 See Other

 리퀘스트한 리소스가 다른 URI에 있으며 해당 리소스를 조회해야 함

304 Not Modified

 접근할 수 있으나 문서가 변경되지 않음

305 Use Proxy

 리퀘스트한 리소스를 Location 필드에 명시된 프록시를 통하여 접근해야 함

 

 

4XX Client Error

400 Bad Request

 잘못된 형식의 리퀘스트

401 Unauthorized

 인증되지 않음. 사용자 인증을 요구

403 Forbidden

 리퀘스트를 이해했으나 처리를 거부함

404 Not Found

 해당 리퀘스트의 URI를 찾을 수 없음. 서버가 URI존재 자체를 부정하기 위해 사용하는 경우도 있음

405 Method Not Allowed

 해당 리퀘스트 메서드를 해당 URI에서 사용할 수 없다

406 Not Acceptable

 접수할 수 없음. Head 리퀘스트가 아니라면 응답에 엔티티를 포함함

407 Porxy Authhentication Required

 프록시 인증 필요. 프록시에 먼저 인증할 것

408 Request Timeout

 요청한 리퀘스트가 시간 안에 응답할 수 없음

409 Conflict

 충돌로 인해 리퀘스트를 완료할 수 없음

410 Gone

 리퀘스트한 리소스가 서버에 더 이상 없으며 주소를 알 수 없음

411 Length Required

 Content-Length가 없어 리퀘스트가 거부됨

412 Precondition Failed

 서버가 지정한 조건의 거짓임

413 Request entity Too Large

 서버가 처리할 수 있는 크기를 초과하여 리퀘스트 거부

414 Request-URI Too Long

 URI가 서버가 인식할 수 있는 것보다 김

415 Unsupported media type

 리퀘스트된 미디어 형식이 해당 리소스에서는 지원되지 않는 형식

416 Requested Range Not Satisfiable

 유효하지 않은 Range

417 Expectation Failed

 Expect 필드를 서버에서 충족할 수 없음

 

 

5XX 서버 오류

501 Not Implemented

 해당 리퀘스트를 처리할 기능이 없음

502 Bad Gateway

 게이트웨이, 프록시로 활동한 서버가 리퀘스트를 완료하려 할 때 상대 서버로부터 유효하지 않은 응답을 받음

503 Service Unavailable

 서버가 현재 잠정적으로 요구를 처리할 수 없다.

504 Gateway Timeout

 게이트웨이나 프록시 서버가 리퀘스트를 시간 내 처리하려 할 때 상대 서버로부터 응답을 얻지 못함

505 HttpVersion Not supported

 서버가 해당 버전의 http를 지원하지 않거나 지원을 거부

 

 

대부분의 상태 코드는 낯설 것이다. 이미지나 텍스트 형식을 보여주지 않거나 자동적으로 처리, 이외 해당 코드를 응답할 경우가 흔하지 않기 때문이다. 404 Not Found 503 Unable 등은 흔히 봤을 것이다. 해당 상태 코드들은 오류로 인한 코드로 사용자가 잘못 URI를 입력하였거나 서버 자체가 다운된 경우 이런 코드들을 보게 된다.

 

728x90
반응형

댓글