응답대역 | 응답코드 | 설명 |
임시응답 | 100 | Continue : 클라이언트로 부터 일부 요청을 받았으며 나머지 정보를 계속 요청함 |
101 | Swiching Protocols : 프로토콜 전환 요청시 발생 |
성공 | 200 | OK : 요청이 성공적으로 수행됨 |
201 | Created : 리소스가 생성 혹은 변경됨 |
202 | Accepted : 서버가 클라이언트 명령을 수신함 |
203 | Non-authoritative information : 서버가 클라이언트 요구 중 일부만 전송 |
204 | No content : 요청은 성공했으나 전송할 데이터가 없음 |
리다이렉트 | 301 | Moved permanently : 요청한 데이터를 새로운 URI에 요청함(Redirect된 경우) |
302 | Not Temporarily : 요청한 리소스를 일시적으로 다른 URI에 요청함 (로그인 후 메인페이지로 이동되는 경우) |
304 | Not modified : 요청을 수행했지만 문서가 수정되지 않았음 |
클라이언트 요청에러 | 400 | Bad Request : 잘못된 요청을 처리할 수 없음 |
401 | Unauthorized : 인증이 필요한 리소스에 인증 없이 접근을 시도함 |
402 | Payment required : 결제가 필요, 예약됨 |
403 | Forbidden : 서버가 요청을 거부할 때 발생. 권한이 없거나 사용자가 차단되었을 때 발생 |
404 | Not found : 요청한 페이지 없음 |
405 | Method Not Allowed : PUT/DELETE 등 서버에서 허용하지 않은 메소드 요청은 허용불가 |
407 | Proxy authentication required : 프록시 인증이 요구됨 |
408 | Request Timeout : 요청 시간 초과 |
409 | Conflict : 요청을 처리하는 과정에서 충돌이 발생 |
410 | Gone : 영구적으로 사용 금지 |
412 | Precondition failed : 전체 조건 실패 |
414 | Request-URI too long : 요청 URL 길이가 긴 경우 |
415 | Unsupported media type : 지원되지 않는 미디어 유형 |
서버에러 | 500 | Internal server error : 내부 서버 오류 |
501 | Not implemented : 구현되지 않은 API 요청 |
502 | Bad Gateway : 서버에 요청했던 데이터가 중간에 유실됨 (잘못된 응답을 받았을 경우) |
503 | Service unnailable : 서비스 사용 불가. 외부 서비스가 죽었거나 현재 멈춤 상태 |
504 | Gateway timeout : 게이트웨이 시간 초과 |
505 | HTTP version not supported : 해당 HTTP 버전이 지원되지 않음 |
HTTP 응답 코드를 처음 접했을 때는 해당 코드가 나타내는게 정확히 어떤 경우에 필요한지 파악하기 힘들다.
마침 이를 위한 가이드를 순서도로 정리한 외국 블로거분의 포스팅이 있어 참고할 때 도움이 될 듯하여 아래 첨부한다.
- codeitkerer.com - choosing an HTTP status code