본문 바로가기

Web-ETC

HTTP response status codes

반응형

HTTP 응답 상태 코드는 특정 HTTP 요청이 성공적으로 완료되었는지 알려주며 응답은 5개의 그룹으로 나누어집니다.

 

1. Informational responses  정보제공 (100 ~ 199) 

2. Successful responses 성공 (200 ~ 299) 

3. Redirection messages 리다이렉션 (300 ~ 399)

4. Client error responses 클라이언트 에러 (400 ~ 499)

5. Server error responses 서버 에러 (500 ~ 599) 

 

1xx Informational responses  정보제공 (100 ~ 199) 

code status description
100 Continue 클라이언트가 서버로 보낸 요청에 문제가 없으니 다음 요청을 이어서 보내도 된다는걸 의미
(작업 완료시 응답을 무시)
101 Switching Protocols 서버가 전환되는 프로토콜을 가르키며 클라이언트로부터 받은 헤더에 명시 되어있음
102 Processing 서버가 요청을 수신하고 처리하고 있는 상태 하지만 아직 제대로된 응답값을 알려줄 수 없음
103 Early Hints 헤더와 함께 사용되어 서버가 응답을 준비하는 동안 사용자가 사전로딩을 시작할 수 있도록 한다

 

 

2. Successful responses 성공 (200 ~ 299) 

 

※ WebDAV 웹 분산 저작 및 버전 관리는 웹 개발자가 클라인언트에서 원격으로 콘텐츠를 생신할 수 있게 해주는 HTTP 확장 프로그램

code status description
200 Ok 요청한 동작을 수신하였고 성공적으로 처리
201 Created 요청이 성공적으로 처리 되었으며 응답이 반환되기 전에 새로운 리소스가 생성
202 Accepted 요청은 접수하였지만 처리가 완료되지 않음
203 Non-Authoritative Information 오리지널 서버로부터 제공된 것이 아니지만 로컬이나 서드 파티 복사본에서 모아져 있음
(이러한 조건에는 이 응답이 아니라 200 ok 응답을 우선됩니다)
204 No Content 요청에 대해서 보낼 수 있는 콘텐츠는 없고 헤더만 있음
(DELETE 요청에 대한 응답값으로 많이 사용)
205 Reset Content 요청을 완료 후 사용자에게 사용한 입력 폼을 리셋하라고 알려줌
206 Partial Content 클라이언트에서 복수의 스트림을 분할 다운로드 받고자 범위 헤더를 전송했을때 사용
(이어 받기를 시도하면 헤더에 명시된 데이터의 부분부터 전송을 시작)
207 Multi-Status
(WebDEV)
여러 리소스가 여러 상태 코드인 상황이 적절한 경우에 해당되는 정보를 전달
208 Already Reported
(WebDEV)
응답 속성으로 동일 컬렉션으로 바인드된 복수의 내부 맴버를 반복적으로 열거하는 것을 피하기 위해 사용
226 IM Used 서버가 GET 요청에 대한 리소스의 의무를 다 했고 응답이 하나 또는 그 이상의 인스턴스 조작이 현재 인스턴스에 적용이 되었음

 

 

 

3. Redirection messages 리다이렉션 (300 ~ 399)

code status description
300 Multiple Choice 하나 이상의 응답이 가능 하며 반드시 하나를 선택해야됨
301 Moved Permanently 요청한 리소스의 URI가 변경됨
302 Found 요청 리소스의 URI가 일시적으로 변경됨
303 See Other 클라이언트가 요청한 리소스를 다른 URI에서 GET요청을 통해 얻어야 할 때
304 Not Modified 캐시를 목적으로 사용되며 클라이언트에게 응답이 수정되지 않았음을 알려주고 클라이언트는 계속해서 응답의 캐시된 버전을 사용할 수 있음
305 Use Proxy  반드시 프록시를 통해서 접속해야 하는 것을 알려줌 하지만 프록시의 in-band 설정에 대한 보안상의 걱정으로 인하여 사라져가고 있음
306   이전 버전 까지 사용 되었지만 현재는 추후 사용을 위해 예약 되어있음
307 Temporary Redirect 현재 다른 위치의 페이지로 요청에 응답하고 있지만 향후에는 원래의 URI로 요청 해야됨
308 Permanent Redirect 요청한 리소스의 URI가 영구히 변경되었으며 301이랑 동일하지만 사용자가 반드시 HTTP 메소드를 변경하지 말아야함

 

 

 

4. Client error responses 클라이언트 에러 (400 ~ 499)

※ 4xx status code가 많아서 자주 볼 수 있는 코드만 정리했습니다

code status description
400 Bad Request request가 유효하지 없을때
401 Unauthorized 클라이언트가 접근 권한이 없을때 (응답을 받기 위해서는 반드시 인증을 해야됨)
403 Forbidden 클라이언트가 접근이 금지 되었을때 (401과 다른점은 서버가 클라이언트가 누구인지 알고 있음)
404 Not Found 요청받은 리소를 찾을 수 없을때
405 Method Not Allowed 요청이 허용되지 않은 메서드인 경우
409 Conflict 요청이 현재 서버의 상태와 충돌될때

 

 

 

5. Server error responses 서버 에러 (500 ~ 599) 

code status description
500 Internal Server Error 서버에 오류가 발생하여 요청을 수행할 수 없음
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
(WebDAV)
요청을 처리하는동안 무한 루프를 감지
510 Not Extended 서버가 요청을 이행하려면 추가 확장이 필요
511 Network Authentication Required 클라이언트가 네트워크 접근 권한을 얻기위해 인증이 필요할때
반응형