본문으로 건너뛰기

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(게이트웨이 시간 초과)
    • 서버가 응답을 제한 시간 안에 줄 수 없는 상태임을 의미합니다.