IT&컴퓨터/IT 인터넷

HTTP Status 상태정보

누한 2017. 12. 20. 22:02
반응형

일반적으로 웹 개발자라면 누구나가 한번쯤은 아래 글을 봤겠죠


"http 404 error, 관리자에게 연락하세요"


에러코드를 알면 좀더 다양한 내용을 서버의 상태를 알고 대응을 할수 있습니다.


아래의 기본적인 5가지 코드에서 세분화된 정보를 제공합니다.



1XX - 정보            


2XX - 성공                


3XX - Redirection


4XX - 클라이언트 에러


5XX - 서버 에러



HTTP Status Code
No. Code
오 류 내 용
100~199 정보 (HTTP1.0에선 정의되지 않음)
100Continue Client는 Request를 Server는 Response를 계속적으로 해야한다는 것
101Switching Protocols Client의 요청에 따라 연결 프로토콜을 전환
200 ~ 299 트랜잭션 성공의 의미
200OK Request가 성공적으로 완료되었음
201Created Request가 POST method이었으며 성공적으로 완료되었음
202Accepted Request가 서버에 전달되었으나 처리 결과를 알 수 없음. 
 배치 처리를 요한 경우
203Non-Authoritative Information GET Request가 실행되었으며 부분적인 정보를 리턴하였음
204No Content Request가 실행되었으나 클라이언트에게 보낼 데이터가 없음
205Reset Content 클라이언트 폼 전송후 폼 내용 삭제
206Partial Content 클라이언트가 Range 헤더와 함께 요청의 일부분을 보냈고 서버는 이를

 수행했음. (HTTP 1.1에서 처음 등장)

300~399 트랜잭션의 redirection
300Multiple Choices 요구된 Request가 여러 위치에 존재하는 자원을 필요로 하므로 

 Response는  위에 대한 정보를 보낸다. 클라이언트는 가장 적당한 

 위치를 선택하여야 함

301Moved Permanently Request에 의한 요구된 데이터는 영구적으로 새로운 URL로 옮기어 졌음
302Moved Temporarily Request가 요구한 데이터를 발견하였으나 실제 다른 URL에 존재함
303See Other 요구한 데이터를 변경하지 않았기 때문에 문제발생
304Not Modified If-Modified-Since 필드를 포함한 GET Method를 받았으나 문서는 수정

 되지 않았음

305User Proxy 요청된 문서는 Location 헤더에 나열된 프록시를 통해 추출되어야 함.

 (HTTP 1.1에서 처음 등장)

307Temporary Redirect 302 ("Found" 또는 "Temporarily Moved")와 같다.

 많은 브라우저에서 메시지가 POST일 때 원래는 303 응답의 POST 요청의

 리다이렉션을 따라 가야 함에도 불구하고 302의 응답을 따르기 때문에

 HTTP 1.1에서 추가되었다. 303 응답은 모호하지 않도록 의도되었고,

 303 응답의 경우에 대해서는 리다이렉트 된 GET과 POST 요청을 따르고

 307 응답의 경우에는 GET  요청만 따른다. 몇 가지 이유로

 HttpServletResponse에는 이 상태코드에 해당하는 상수가 없다.

 (HTTP 1.1에서 처음 등장)

400 ~ 499 클라이언트측 에러 (오류 메세지)
400Bad Request Request의 문법이 잘못되었음, 처리할 수 없다.
401Unauhorized Request가 서버에게 Authorization: 필드를 사용하였으나 값을 지정

 하지 않았음. (클라이언트의 인증 실패)
 서버는 WWW-Authenticate Response Header를 통해 가능한 인증 스킴을

 보낸다

401.1 권한 없음 : 로그온 실패
401.2 권한 없음 : 서버 구성으로 인한 로그온 실패
401.3 권한 없음 : 리소스의 ACL에 의해 액세스 거부
401.4 권한 없음 : 필터에 의해권한 부여가 거부
401.5 권한 없음 : ISAPI 또는 CGI 응용 프로그램으로 권한 부여 실패
402  Request가 요구한 일은 비용이 요구되지만 Request Header의 Chargeto

 필드에 아무값도 보내지 않음. 현재는 구현되지 않음

403Forbidden Request는 금지된(접근 거부된) 자원을 요구하였음
403.1 엑세스 금지 : 액세스 실행 금지
403.2 엑세스 금지 : 읽기 액세스 금지
403.3 엑세스 금지 : 쓰기 액세스 금지
403.4 엑세스 금지 : SSL필요
403.5 엑세스 금지 : SSL 128필요
403.6 엑세스 금지 : IP 주소 거부
403.7 엑세스 금지 : 클라이언트 인증서 필요
403.8 엑세스 금지 : 사이트 액세스 거부
403.9 엑세스 금지 : 연결된 사용자가 너무 많음
403.1 엑세스 금지 : 잘못된 구성
403.11 엑세스 금지 : 암호변경
403.12 엑세스 금지 : 매퍼가 액세스를 거부
403.13 엑세스 금지 : 클라이언트 인증서 해지
403.15 엑세스 금지 : 클라이언트 액세스 라이센스 초과
403.16 엑세스 금지 : 클라이언트 인증서가 유효하지 않거나 신뢰할 수 없음
403.17 엑세스 금지 : 클라이언트 인증서가 만료되었거나 아직 유효하지 않음
404Not Found 문서를 찾을수 없음
404.1 요구된 URL을 찾을 수 없음
405Method Not Allowed 클라이언트는 자원을 액세스하기에 부적합한 Method를 이용하였음.
 리소스 허용안함
406Not Acceptable 요구된 자원을 발견하였으나 자원을 타입이 Request Header의 Accept

 필드와 일치하지 않아서 전송할 수 없음

407Prozy Authentication Required 프록시 인증 필요
408Request Timeout 요청시간이 지남
409Conflict 리소스간 충돌로 인하여 서버가 응답할 수 없음
410Gone 요구된 자원은 영구적으로 활용가능하지 않음
411Length Required Content-Length를 정의하지 않고 리소스를 요청
412Precondition Failed 전제조건 실패
413Request Entity Too Long Request Entity가 서버가 처리할 수 있는 것보다 큼
414Ruquest URI Too Long URI가 너무 김
415Usupported Media Type 지원되지 않는 미디어 형식 (HTTP 1.1 에서 새로 등장)
416Requested Range Not Satisfiable 클라이언트가 요청에 적당하지 않는 Range 헤더를 포함 시켰음

 (HTTP 1.1 에서 새로 등장)

417Espectation Failed Expect 요청 헤더의 값이 맞지 않음

 (HTTP 1.1 에서 새로 등장)

500 ~ 599 서버측 에러 (오류 메세지)
500Internal Server Error 서버에 내부적으로 오류(잘못된 스크립트 실행시)가 발생하여 더 이상을

 진행할 수 없음

500-11  서버 종료 중
500-12 응용 프로그램 다시 시작
500-13 서버 사용량이 많음
500-14 잘못된 응용 프로그램
500-15 global.asa에 대한 요청이 허용되지 않음
501Not Implemented 요청된 Request는 합법적이나 서버는 요구된 Method를 지원하지 않음
502Bad Gateway 클라이언트는 다른 서버(보조서버)로부터 자원 액세스를 요구하는 서버

 에 자원을 요구하였으나 보조 서버가 유효한 응답을 전달해오지 않았음

503Service Unavailabe 서버가 바쁘기 때문에 서비스를 할 수 없음(서버 과부하)
504Gateway Timeout 502의 오류와 유사하나 보조 서버의 응답이 너무 오래 지체되어 트랜잭션

 이 실패하였음

505HTTP Version Not Supported 서버가 요청 라인에 지정된 HTTP 버전을 지원하지 않음 

 (HTTP 1.1 에서 새로 등장)



반응형