Exp/네트워크

[Network] HTTP Status Code (HTTP 상태 코드)

kilog 2024. 4. 16. 22:57
728x90

안녕하세요 ki입니다.

이번에 소개할 Exp는 HTTP Status Code입니다.

저번 글과 마찬가지로 클라우드 솔루션 개발 투입 시에 알게 된 정보입니다.

(Swagger로 테스트할 때 다양한 상태코드를 만났습니다...)

 

 

https://www.xeonbd.com/wp-content/uploads/HTTP-Response-Status-Codes.png.webp

 

HTTP 상태 코드(HTTP Status Code)는 HTTP 프로토콜을 통해 서버가 클라이언트에게 전달하는 상태 메시지입니다.

상태 코드들은 클라이언트에게 요청이 성공했는지 또는 어떤 문제가 발생했는지를 알려줍니다.

다양한 상황에 따라 다양한 상태 코드가 사용됩니다. 위에 이미지처럼 일반적으로 5가지로 분류합니다.

 

  1. 1xx 번대 (Informational - 정보 전달): 요청이 수신됐고 처리가 진행 중임을 나타냄  추가 작업이 필요한 경우에 사용
  2. 2xx 번대 (Success - 성공): 클라이언트의 요청이 성공적으로 처리됨을 나타냄
  3. 3xx 번대 (Redirection - 리다이렉션): 클라이언트의 요청이 다른 위치로 리다이렉트 되어야 함을 나타냄
  4. 4xx 번대 (Client Error - 클라이언트 오류): 클라이언트의 요청이 잘못됐거나 서버가 요청을 처리할 수 없음을 나타냄
  5. 5xx 번대 (Server Error - 서버 오류): 서버가 클라이언트의 유효한 요청을 처리할 수 없음을 나타냄

 

저는 5가지 코드로도  어디에서 오류가 있는지 유추하는 편입니다.

좋은 방법은 아닐 수 있지만 빠른 오류조치를 위해 자주 사용하는 편입니다.

그중에 아래 코드들은 비교적 자주 보는 상태 코드입니다.

  • 200 (OK): 요청이 성공적으로 처리
  • 201 (Created): 요청이 성공적으로 처리되고 새로운 리소스가 생성
  • 400 (Bad Request): 클라이언트의 요청이 잘못됨
  • 401 (Unauthorized): 클라이언트가 인증이 안됨
  • 404 (Not Found): 요청한 리소스를 찾을 수 없음
  • 500 (Internal Server Error): 서버에 오류가 발생

 

다양한 상태 코드를 올바르게 이해하고 처리한다면

개발자로서 서버와의 통신을 더욱 효율적으로 관리할 수 있다고 생각합니다.

 

 

 

개발자들의 친구인 개발자 도구를 통해 상태 코드를 확인할 수 있습니다.

아래를 더 다양한 상태코드들입니다.

 

  • 100 (Continue): 클라이언트가 요청 본문을 전송할 때 사용, 서버가 요청을 계속해서 받아들일 것임을 나타냄
  • 204 (No Content): 성공적으로 처리되었지만 응답 본문에 내용이 없음 주로 PUT 또는 DELETE 요청에 사용됨
  • 301 (Moved Permanently): 요청한 리소스가 새로운 위치로 이동되었음을 나타냄
  • 303 (See Other): 요청이 완료되면 리다이렉션을 수행해야 함을 나타냄 리다이렉션된 리소스는 GET 메소드를 사용하여 얻을 수 있음
  • 401 (Unauthorized): 요청이 인증이 필요한 리소스에 대해 인증되지 않은 상태로 전송됨
  • 403 (Forbidden): 요청된 리소스에 접근할 권한이 없음 인증이 제공되었더라도 권한이 없는 경우에 사용
  • 405 (Method Not Allowed): 요청된 HTTP 메소드가 허용되지 않음 GET 요청에 POST 요청이 수신된 경우
  • 408 (Request Timeout): 서버가 요청을 처리하는 데 너무 오래 걸렸거나 요청이 너무 오래되어 연결이 끊어짐
  • 429 (Too Many Requests): 클라이언트가 주어진 시간 동안 너무 많은 요청을 보냈기 때문에 서버가 요청을 거부함
  • 503 (Service Unavailable): 서버가 현재 요청을 처리할 수 없음. 일시적인 과부하 또는 유지보수로 인한 상태

 

 

개발에 투입된 동안 RESTAPI를 공부하면서 HTTP 상태 코드를 알게됐고 RESTAPI관점에서 보는 상태코드라는 내용에 유용한 블로그를 발견하였습니다. 저는 글을 읽고 상태코드를 이해하는데 도움을 받았습니다.

아래의 블로그가  제가 크게 도움받은 블로그 글입니다. 제 글을 읽어주시는 분들도 한번 방문해서 읽어보세요!

 

https://sanghaklee.tistory.com/61

 

REST API 관점에서 바라보는 HTTP 상태 코드(HTTP status code)

REST API 관점에서 바라보는 HTTP 상태 코드(HTTP status code) TOC Introduction HTTP 와 REST HTTP Status Code 2XX Success 4.1. 200 OK 4.2. 201 Created 4.3. 202 Accepted 4.4. 204 No Content 4XX Client errors 5.1. 400 Bad Request 5.2. 401 Unauthori

sanghaklee.tistory.com

 

 

'Exp > 네트워크' 카테고리의 다른 글

[Network] RestApi와 RestfulApi의 차이  (0) 2024.04.16