dev-sohee 님의 블로그
HTTP 상태 코드: 웹 요청의 결과 해석하기 본문
'웹 브라우저에서 Enter를 누른 후 일어나는 모든 일들 낱낱이 파헤치기'(https://dev-sohee.tistory.com/12)에서 예를 들어 우리가 웹 브라우저의 주소창에 'https://www.naver.com'을 입력하고 Enter 를 누르면 어떤 일들이 일어나는지에 대해 알아봤습니다. 그 중 클라이언트가 웹 서버에 HTTP 요청을 보내고 응답을 받는 동작이 반복적으로 이루어진다는 내용이 있었는데 이 글에서는 이때의 응답 객체 중 HTTP 상태 코드에 대해 알아보겠습니다.
서버에서의 처리 결과는 응답 메시지의 상태 라인에 있는 상태 코드(status code)를 보고 파악할 수 있습니다. 상태 코드는 세 자리 숫자로 되어 있는데 첫 번째 숫자는 HTTP 응답의 종류를 구분하는 데 사용하며 나머지 2개의 숫자는 세부적인 응답 내용 구분을 위한 번호입니다. 현재 100~500번 대까지 상태 코드가 정의되어 있는데 첫 번째 자리 숫자에 따라 다음과 같이 5가지로 분류해서 사용하고 있습니다.
1. 1XX: Informational(정보 제공)
임시 응답으로 현재 클라이언트의 요청까지는 처리되었으니 계속 진행하라는 의미입니다. HTTP1.1버전부터 추가되었습니다.
2. 2XX: Success(성공)
클라이언트의 요청이 서버에서 성공적으로 처리되었다는 의미입니다.
3. 3XX: Redirection(리다이렉션)
완전한 처리를 위해서 추가 동작이 필요한 경우입니다. 주로 서버의 주소 또는 요청한 URI의 웹 문서가 이동되었으니 그 주소로 다시 시도하라는 의미입니다.
4. 4XX: Client Error(클라이언트 에러)
없는 페이지를 요청하는 등 클라이언트의 요청 메시지 내용이 잘못된 경우를 의미합니다.
5. 5XX: Server Error(서버 에러)
서버 사정으로 메시지 처리에 문제가 발생한 경우입니다. 서버의 부하, DB 처리 과정 오류, 서버에서 익셉션이 발생하는 경우를 의미합니다.
다음은 HTTP 상태 코드 전체를 요약 정리한 표입니다(빨간색은 자주 사용되는 코드입니다).
# 1XX: Informational(정보 제공)
# 2XX: Success(성공)
# 3XX: Redirection(리다이렉션)
# 4XX: Client Error(클라이언트 에러)
# 5XX: Server Error(서버 에러)
개발자는 문제 상황이 발생했을 때 얼마나 빠르게 원인을 분석하고 대처할 수 있는지가 역량을 판단할 수 있는 중요한 요소 중 하나입니다. HTTP 상태 코드를 잘 숙지하고 적절히 활용하면 웹 개발 시 문제를 빠르게 진단하고 해결하는 데 큰 도움이 될 것 같습니다.
'웹' 카테고리의 다른 글
War(Web Application Archive) 파일 구조 파헤치기 (0) | 2024.08.17 |
---|---|
EDA(Event-Driven Architecture) 쉽게 이해하기 (0) | 2024.08.17 |
왜 사이트 주소는 항상 www로 시작하는거지?(웹과 웹 표준에 대하여) (1) | 2024.08.11 |
웹 브라우저에서 Enter를 누른 후 일어나는 모든 일들 낱낱이 파헤치기 (0) | 2024.08.03 |
세트로 다니는 HTML, CSS, Javascript (0) | 2024.07.06 |