HTTP Status Codes
· 2분 읽기
상태 코드는 자주 사용되는 코드부터 시작하여 잘 사용되지 않는 코드까지 그 수가 정말 많은데요. 이번 레슨에서는 자주 사용되는 상태 코드 위주로 살펴보겠습니다. 더 많은 상태 코드들은 MDN의 HTTP 상태 코드 문서 또는 RFC 2616에서 확인해 보세요.
상태 코드의 종류가 많다고 해서 너무 걱정하지 마세요. 자주 사용되는 상태 코드 위주로 알아 두고, 잘 사용되지 않는 코드의 경우 필요할 때마다 찾아서 활용하는 것으로 충분합니다.
100번대(정보 응답)
- 100 Continue(계속)
- 요청의 첫 부분을 받아서 다음 요청을 기다리고 있다는 것을 알려 줍니다.
- 이미 요청을 완료했다면 해당 응답을 무시할 수 있습니다.
200번대(성공 응답)
- 200 OK(성공)
- 클라이언트의 요청이 성공적으로 처리되었다는 것을 의미하며 주로 요청한 페이지를 서버가 제공했다는 것을 알려줍니다.
- 201 Created(생성됨)
- 요청이 성공적으로 처리되어 새로운 자원을 생성했다는 걸 의미합니다.
- 204 No Content(콘텐츠 없음)
- 요청을 성공적으로 처리했으며, 콘텐츠(body)를 제공하지 않는다는 것을 의미합니다.
300번대(리다이렉션 메시지)
- 301 Moved Permanently(영구 이동)
- 요청한 자원이 새로운 위치로 영구 이동했음을 나타냅니다.
- 클라이언트는 서버가 전달한 리스폰스의 Location 헤더에 작성된 주소로 이동합니다.
- 302 Found(임시 이동)
- 요청한 자원이 일시적으로 이동했음을 나타냅니다.
- 클라이언트는 향후 다시 해당 자원을 요청할 때도 동일한 주소로 해야 합니다.
- 304 Not Modified(수정되지 않음)
- 마지막 요청 이후 요청한 자원은 수정되지 않았다는 것을 알려주며 서버가 콘텐츠를 전달하지 않습니다.
- 클라이언트는 이전에 전달받은 자원을 계속해서 사용할 수 있습니다.
400(클라이언트 에러 응답)
- 400 Bad Request(잘못된 요청)
- 클라이언트의 요청을 서버가 이해할 수 없음을 의미합니다.
- 401 Unauthorized(권한 없음)
- 클라이언트가 해당 요청에 대한 응답을 받기 위해서는 추가적인 인증이 필요하다는 것을 의미합니다.
- 403 Forbidden(금지됨)
- 클라이언트가 요청한 자원에 접근할 권한이 없음을 의미합니다.
- 401과는 달리 인증된 클라이언트이지만 인가되지 않았음을 의미합니다.
- 404 Not Found(찾을 수 없음)
- 클라이언트가 요청한 자원을 서버가 찾을 수 없음을 의미합니다.
- 405 Method Not Allowed(메소드 허용되지 않음)
- 클라이언트가 요청한 HTTP 메소드가 허용되지 않았음을 의미합니다.
500(서버 에러 응답)
- 500 Internal Server Error(내부 서버 오류)
- 서버에서 오류가 발생하여 요청한 작업을 수행할 수 없음을 의미합니다.
- 502 Bad Gateway(잘못된 게이트웨이)
- 서버가 요청을 처리하는데 필요한 작업을 수행하던 중, 요청을 처리하는 중간 단계의 서버인 게이트웨이로부터 잘못된 응답을 받았음을 의미합니다.
- 503 Service Unavailable(서비스 사용 불가)
- 서버가 해당 요청을 처리할 준비가 되지 않았음을 의미합니다.
- 일반적으로 유지 보수를 위해 작동이 중단되거나 과부하가 걸렸을 때 나타나며, 일시적 상황에서 사용됩니다.
- 504 Gateway Timeout(게이트웨이 시간 초과)
- 서버가 응답을 제한 시간 안에 줄 수 없는 상태임을 의미합니다.