HTTP 상태 코드란?
클라이언트가 HTTP 리퀘스트를 했을 때, 서버에서 처리 한 결과를 나타낸 것을 'HTTP 상태코드'라고 합니다.
1XX(요청을 받았고, 작업을 진행 중)
클래스 = Infomational
100 |
진행중 |
101 |
프로토콜 전환 중 |
102 |
처리중 |
2XX-요청을 정상적으로 처리한 경우.
클래스 = Success
200 |
성공 |
201 |
리소스가 만들어짐. |
202 |
요청을 받았지만 처리되지 않음 |
204 |
성공. 컨텐츠는 제공하지 않음. |
206 |
성공. 컨텐츠의 일부 부분만 제공. |
3XX-요청을 완료하려면 추가적인 작업이 필요한 경우.
클래스 = Redirection
301 |
URI영구 이동 됨 |
302 | URI일시 이동 됨 |
303 | 302와 비슷하지만, GET 방식으로 얻어와야함. |
304 | 리다이렉트와 관련이 없다. 리소스는 있지만, 조건이 안맞음. |
307 |
일시 리다이렉트 |
308 |
영구 리다이렉트 |
4XX-클라이언트 요청이 올바르지 못한 경우.
클래스 = Client Error
400 |
서버가 처리 할 수 없는 요청 |
401 |
권한 없음 |
403 |
서버에서 요청을 거부(관리자에 의한 차단 또는 권한이 없을 때) |
404 |
요청한 페이지가 없음. |
408 |
타임 아웃 |
414 |
URI가 너무 긺. |
451 |
법적인 이유로 이용 불가. |
5XX-클라이언트가 올바르게 요청했지만 서버에서 응답을 못하는 경우.
클래스 = Server Error
500 |
서버 내부에서 오류가 발생해 수행 할 수 없음. |
502 |
잘못된 게이트웨이(프로토콜 또는 프로토컬 연결해주는 장치의 문제) |
503 |
서버를 일시적으로 사용 할 수 없음. |
505 |
HTTP버전을 지원하지 않음. |
509 |
대역폭 제한 초과 |
520 |
알수없는 에러 |
Example
1 2 3 4 5 6 7 8 9 10 11 12 | for(int i=1; i<=5; i++){ // 자바 코드 입니다. // 요청 하는 작업 ~~~~~~ // // //작업이 끝나면 // responseCode = urlConnection.getResponseCode(); if (responseCode == 200) break; //sleep(500); } |
일시적으로 실패 할 수있는 경우를 대비하여 이런식으로 짜기도 합니다.
응용을 더 한다면
200이 아닌 경우의 로그를 서버에 남기는 방법도 있습니다.
활용한다면 여러 방법으로 응용 할 수 있겠죠? ㅎㅎ
'Computer engineering > Network' 카테고리의 다른 글
[Nginx] /etc/nginx/site-available/default (0) | 2019.03.03 |
---|