웹 개발에서 알아두면 유용한 상태 코드(Status Code)

aksen5240·2024년 1월 3일
1

JavaScript-Web

목록 보기
4/7
post-thumbnail

📚 웹 개발에서 알아두면 유용한 상태 코드(Status Code)

웹 브라우저와 서버 간의 통신에서 상태 코드(Status Code)는 클라이언트의 Request가 어떻게 처리되었는지를 나타내는 역할을 한다. 이 코드들을 이해하면 웹 개발에 큰 도움이 된다.

이에, 이번 글을 통해 웹 개발 시 매우 중요한 부분인 상태 코드에 대해 알아보며 상태 코드와 조금 더 친숙해지는 기회를 가져보고자 한다.


상태 코드(Status Code)

📌 상태 코드와 상태 메시지

HTTP 상태 코드는 서버가 클라이언트의 리퀘스트를 어떻게 처리했는지를 나타내는 3자리 숫자이다. 각 상태 코드는 대응되는 상태 메시지(Status Message)를 가지며, 이는 상태 코드의 의미를 간략히 설명한다.

대표적인 예로 Status Code: 200는 OK, Status Code: 404는 Not Found라는 상태 메시지를 갖고 있다. 각 상태 코드의 의미를 모두 외우기는 힘들기 때문에 이러한 상태 메시지는 상태 코드의 의미를 빠르게 파악하는데 도움을 준다.

cf> 자주 사용되는 상태 코드: 200 / 404

  • 200 OK: 리퀘스트가 성공적으로 처리됨.
  • 404 Not Found: 요청된 리소스를 찾을 수 없음.

상태 코드 범위

상태 코드는 100번대부터 500번대까지 존재한다. 그리고 각 번호대는 그것만의 의미를 가지고 있다. 각 번호대 별 주요 상태 코드들을 살펴보고 번호대별 의미에 대해 알아보자.

📌 100번대: 정보성 응답

서버가 클라이언트에게 정보성 응답(Informational response)을 줄 때 사용되는 상태 코드들이다.

  • 100 Continue: 서버가 리퀘스트의 초기 부분을 받았고, 클라이언트가 나머지를 계속 전송해도 괜찮다고 알려주는 상태 코드
  • 101 Switching Protocols: 클라이언트가 요청한 프로토콜 변경을 서버가 수락했다는 뜻을 나타냄

📌 200번대: 성공적인 응답

클라이언트의 리퀘스트가 성공 처리되었음을 의미하는 상태 코드들이다.

  • 200 OK: 리퀘스트가 성공적으로 처리되었음을 포괄적으로 의미하는 상태 코드
  • 201 Created: 리퀘스트가 성공적으로 처리되어 새로운 리소스가 생성되었다는 뜻 / POST 리퀘스트가 성공한 경우에 200번 대신 201번이 올 수도 있다.
  • 202 Accepted: 리퀘스트가 접수되었으나 처리는 완료되지 않음

📌 300번대: 리다이렉션 메시지

클라이언트의 리퀘스트가 아직 처리되지 않았고, 리퀘스트 처리를 원하면 클라이언트 측의 추가적인 작업이 필요함을 의미하는 상태 코드들이다.

  • 301 Moved Permanently: 요청된 리소스의 URL이 영구적으로 이동되었다는 뜻
  • 302 Found: 요청된 리소스의 URL이 일시적으로 변경되었다는 뜻
  • 304 Not Modified: 요청한 자원에 대해 변경된 사항이 없으므로 캐시되어있는 자원으로 리디렉션 하겠다는 의미

📌 400번대: 클라이언트 에러

리퀘스트를 보내는 클라이언트 쪽에 문제가 있음을 의미하는 상태 코드들이다.

  • 400 Bad Request: 말그대로 리퀘스트에 문제가 있음을 나타냄 / 리퀘스트 내부 내용의 문법에 오류가 존재하는 등의 이유로 인해 발생
  • 401 Unauthorized: 요청이 인증을 필요로 함 / 아직 신원이 확인되지 않은(unauthenticated) 사용자로부터 온 리퀘스트를 처리할 수 없다는 뜻
  • 403 Forbidden: 서버가 요청을 거부 / 사용자의 신원은 확인되었지만 해당 리소스에 대한 접근 권한이 없는 사용자라서 리퀘스트를 처리할 수 없다는 뜻
  • 404 Not Found: 해당 URL이 나타내는 리소스를 찾을 수 없다는 뜻
  • 405 Method Not Allowed: 요청된 메소드가 서버에서 허용되지 않는다는 뜻
  • 413 Payload Too Large: 현재 리퀘스트의 바디에 들어있는 데이터의 용량이 지나치게 커서 서버가 거부한다는 뜻
  • 429 Too Many Requests: 일정 시간 동안 클라이언트가 지나치게 많은 리퀘스트를 보냈다는 뜻

📌 500번대: 서버 에러

서버 쪽의 문제로 인해 리퀘스트를 정상적으로 처리할 수 없음을 의미하는 상태 코드들이다.

  • 500 Internal Server Error: 현재 알 수 없는 서버 내의 에러로 인해 리퀘스트를 처리할 수 없다는 뜻
  • 503 Service Unavailable: 서비스 이용 불가능 상태 / 현재 서버 점검 중이거나, 트래픽 폭주 등으로 인해 서비스를 제공할 수 없다는 뜻

Outro

그동안 모르는 상태코드가 나올 때 그때마다 구글링을 통해 해당 상태코드의 의미에 대해서만 찾아봤지, 상태코드가 이렇게 다양하고, 또 번호대별로 다른 의미를 가지고 있었다는 사실을 알지는 못했었다.

오늘의 학습을 통해 상태코드와 조금 더 친숙해지고, 이를 통해 클라이언트-서버 간의 통신에 대해 더욱 명확히 이해하며, 문제가 발생할 수 있는 다양한 상황들에 대해 상태코드들을 통해 간접적으로 경험할 수 있었다.

앞으로도 학습 도중 상태코드를 만날 때마다, 상태코드를 통해 각 리퀘스트의 성공, 실패, 리다이렉션, 에러 등 다양한 상황을 구분하고 이에 적절히 대응하는 것이 필요하다고 여겨진다.

profile
Tags of MyStudy🌱

0개의 댓글