HTTP 상태코드 정리 및 이해하기 (100, 200, 300, 400, 500)

HTTP 상태코드를 해석하는 건 디버깅에 매우 중요합니다. http 상태코드라는 것이 클라이언트와 서버 간 상호작용에 대한 결과값을 의미하기 때문입니다. 각 상태코드의 의미를 알고 있으면 상태코드를 보자마자 대략 어떤 문제가 있는지 짐작하고 대처할 수 있습니다.

HTTP 상태코드

개인적으로 처음부터 모든 상태코드를 억지로 다 외울 필요는 없다고 생각합니다. 그것보다는 우선 숫자별로 대략적인 의미를 파악하고 그 안에서도 자주 등장하는 상태코드를 하나씩 하나씩 숙지하면서 쌓아가면 됩니다.

100번대

상태코드 100번대는 클라이언트의 요청이 서버에 도달했고 서버가 프로세스를 진행하고 있다는 의미입니다. 개인적인 느낌으로 이건 딱히 자주 보는 상태코드는 아니었습니다.

 

200번대

상태코드 200번대는 성공의 의미를 가지고 있습니다. 클라이언트의 요청이 성공적으로 처리됐을 때 확인됩니다. 가장 많이 볼 수 있는 상태코드입니다. 애플리케이션에 문제가 없다면 대부분의 요청은 성공해야 하기 때문입니다.

 

300번대

상태코드 300번대는 리다이렉션과 연관이 있습니다. 예를 들어, 웹사이트가 http 프로토콜에서 https로 전환했을 때, 사용자가 기존의 http로 url을 요청하면 서버는 301 상태코드와 함께 https로 리다이렉트 합니다. 다만 웹 서버 설정에 따라 https로 리다이렉션 할 때 302 상태 코드가 떨어지기도 합니다.

 

400번대

400번대부터는 명백하게 에러라고 인식하면 됩니다. 400번대는 클라이언트 단에서 요청에 오류가 있다는 의미입니다. URL을 잘못 입력했거나, 접근 권한이 없는 페이지에 접근했을 때 등 상황에서 400번대 상태코드가 반환됩니다. 그중에서도 자주 볼 수 있는 403 Forbidden은 클라이언트가 요청한 리소스에 대한 권한이 없음을 나타냅니다. 404 Not Found는 클라이언트가 요청한 리소스를 서버에서 찾을 수 없음을 나타냅니다.

 

500번대

500번대는 서버 사이드의 에러입니다. 클라이언트는 요청을 제대로 했으나, 서버가 요청을 제대로 처리하지 못한 경우입니다. 500 Internal Server Error는 서버가 요청을 처리하지 못했을 때 반환됩니다. 503 Service Unavailable도 자주 볼 수 있는 에러입니다. 서버가 요청을 처리할 준비가 되지 않았음을 나타냅니다. 대부분 백엔드 소스에 문제가 있거나, DB에 문제가 있는 경우가 많습니다.

반응형

댓글

Designed by JB FACTORY