본문 바로가기

프로그래밍/기타정보

HTTP 응답코드 알아보기

HTTP 응답코드 알아보기 

 

●100 번대 응답코드

정보전달 : 요청을 받고, 작업 진행중이라는 의미 입니다. http/1.0 이후 정의되지 않았습니다. 서버들도 클라이언트에게 이 코드를 보내지 않는다. 단 101 응답코드는 WebSocket 등에서 사용됩니다.

 

100 continue

101 Switching Protocols
102 Processing

 

●200 번대 응답코드

성공, 작업을 성공적으로 받았고, 이해했으며, 받아들여졌다는 뜻입니다. 200과 206 코드를 제외하고는 볼일이 거의 없는 응답 코드들입니다.

 

200 OK: 성공적으로 처리했을 때 쓰입니다. 가장 일반적으로 볼 수 있는 HTTP 상태입니다.
201 Created: 요청이 성공적으로 처리되어서 리소스가 만들어졌음을 의미합니다.
202 Accepted: 요청이 받아들여졌지만 처리되지 않았음을 의미합니다.
203 Non-Authoritative Information
204 No Content: 성공적으로 처리했지만 컨텐츠를 제공하지는 않습니다. about:blank
205 Reset Content: 서버가 요청을 성공적으로 처리했지만 콘텐츠를 표시하지 않습니다. 204 응답과 달리 이 응답은 요청자가 문서 보기를 재설정할 것을 요구합니다.
206 Partial Content: 컨텐츠의 일부 부분만 제공합니다. 보통 클라이언트에서 시작 범위나 다운로드할 범위를 지정한 경우 자동으로 해당 부분만 제공할 때 사용하는 코드입니다.
207 Multi-Status
208 Already Reported
226 IM Used

 

 

●300 번대 응답코드

리다이렉션: 이 요청을 완료하기 위해서는 리다이렉션이 이루어져야 한다는 의미입니다. 짧은 주소(단축 URL) 서비스의 경우 접속 시 301이나 302 코드를 보내고, 헤더의 location에 리다이렉션할 실제 URL을 적어 보냅니다.


300 Multiple Choices
301 Moved Permanently: 영구적으로 컨텐츠가 이동했을 때 쓰게됩니다.
302 Found: 다른 페이지로 이동하지만, 나중에 바뀔 수 있습니다.
303 See Other
304 Not Modified: 200 다음으로 많이 볼 수 있는 HTTP 상태입니다. 이 경우 보통 브라우저에 캐시되어 있는 버전을 씁니다.
305 Use Proxy 요청자는 프록시를 사용하여 요청한 페이지만 액세스할 수 있습니다. 서버가 이 응답을 표시하면 요청자가 사용할 프록시를 가리키는 것이기도 합니다.
306 Switch Proxy
307 Temporary Redirect 일시 리다이렉트
308 Permanent Redirect 영구 리다이렉트
307,308은 아직 초안 단계의 표준으로 대부분의 브라우저에서 해석하지 못합니다.

 

 

 

 

●400 번대 응답코드

클라이언트 오류: 이 요청은 올바르지 않다는 의미입니다. 

 

400 Bad Request: 요청 자체가 잘못되었을때 사용하는 코드입니다.
401 Unauthorized: 인증이 필요한 리소스에 인증 없이 접근할 경우 발생합니다. 이 응답 코드를 사용할 때에는 반드시 브라우저에게 어느 인증 방식을 사용할 것인지 보내 주어야 합니다. 단순히 권한이 없는 경우 이 응답 코드 대신 아래 403 Forbidden을 사용해야 합니다.
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와는 달리 찾는 리소스가 영원히 사라진 경우 사용하는 코드입니다.


411 Length Required
412 Precondition Failed
413 Requested Entity Too Large : 요청 본문이 너무 긴 경우 발생합니다. 서버 소프트웨어로 엔진엑스를 사용하는 경우 기본 설정 그대로 사용하면 큰 첨부파일을 올릴 때 이 오류 코드가 발생하게 됩니다.
414 Requested URL Too Long: URL이 너무 길 때 발생합니다.
415 Unsupported Media Type


416 Requested Range Not Satisfiable : 요청 헤더의 Range로 지정한 범위가 잘못되었을 때 발생합니다.
417 Expectation Failed
418 I'm a teapot: 찻주전자로 커피를 만들 수 없음. 하이퍼텍스트 커피 포트 제어 프로토콜(HTCPCP)(RFC 2324)에서 사용되는 코드입니다.
429 Too Many Requests: 일정 시간 동안 너무 많은 요청을 보냈을 때 이를 거부하기 위해 사용합니다.
451 Unavailable For Legal Reasons: 국가 검열 등의 이유로 차단되었을 경우 사용할 수 있도록 정의된 코드입니다.

 

 

 

 

 

●500 번대 응답코드

서버 오류: 올바른 요청에 대해 서버가 응답할 수 없다는 의미입니다.


500 Internal Server Error: 서버에 오류가 발생해 작업을 수행할 수 없을 때 뜹니다. 보통 설정이나 퍼미션 문제. 아니면 HTTP 요청을 통해 호출한 문서가 실제 HTML 문서가 아니라 JSP, PHP, 서블릿 등의 프로그램일 경우 그 프로그램이 동작하다 세미콜론 빼먹는 등의 각종 에러로 비정상종료하는경우 이 응답코드를 보냅니다.
501 Not Implemented
502 Bad Gateway: 게이트웨이가 잘못 되었을 때 나온다.


503 Service Temporarily Unavailable: 서버를 현재 일시적으로 사용할 수 없을 때 뜹니다. 유지보수중이거나, 터졌거나 할 때 발생합니다.
504 Gateway Timeout
505 HTTP Version Not Supported: HTTP 버전을 서버가 처리할 수 없습니다. 웬만해서는 볼 수 없는 응답코드입니다.
509 Apache bw/limited extension: 대역폭 제한 초과 응답코드입니다 
520 Unknown Error: 말 그대로 알 수 없는 오류 응답코드입니다.