[HTTP] HTTP 상태코드

2022. 11. 5. 20:33Web/네트워크

HTTP

 

HTTP ( HyperText Transfer Protocol ) 

 

W3에서 정보를 주고받을 수 있는 프로토콜이다. 주고받을 수 있는 데이터 혹은 자료의 형식은 다음과 같다.

  • HTML, TEXT
  • IMAGE, 음성, 영상, 파일
  • JSON, XML 
  • ....etc

해당 리스트 안의 데이터 타입을 지원한다. 이러한 데이터 타입을 주고받으며 클라이언트와 서버의 통신을 하게 된다. 

이때 클라이언트의 요청에 맞춰서 요청의 처리 상태를 알려주는 것을 상태 코드라 한다

 

HTTP 상태코드

 

위에서 말한 바와 같이 클라이언트가 보낸 요청의 처리 상태를 응답에서 알려주는 기능이다. 종류는 크게 5가지로 나눠진다.

대부분의 상태 코드는 크게 앞자리로 구분이 되기에 앞의 자리를 보면서 상황을 판단하면 된다.

 

  • 1xx (Inforamational) : 요청이 수신되어 처리 중
  • 2xx (Successful) : 요청 정상 처리  
    • 200 : OK : 요청 성공
    • 201 : Created :  요청이 성공하여 새로운 리소스가 생성
    • 202 : Accepted : 요청은 접수되었으나 처리가 완료되지 않음 
      • Ex : 예약처리 시스템
    • 204 : No Content : 서버가 요청을 성공적으로 수행했지만 응답 페이로드 본문에 보낼 데이터가 존재하지 않음
      • Ex : 웹 문서 편집의 save버튼.
        • 이 경우 데이터를 전송하고 db에 저장을 하기에 따로 클라이언트로 보낼 데이터가 존재하지 않는다.
  • 3xx (Redirection) : 요청을 완료하려면 추가 행동이 필요 
  • 4xx (Client Error) : 클라이언트 오류, 잘못된 문법으로 서버가 요청을 수행 불가
    • 오류의 원인이 클라이언트에게 존재
    • 400 : Bad Request : 클라이언트가 잘못된 요청을 해서 서버가 요청 처리 불가
      • Ex : 요청 구문, 메시지 등등 오류
    • 401 : Unauthorized : 클라이언트가 해당 리소스에 대한 인증이 필요
    • 403 : Forbidden : 서버가 요청을 이해했지만 승인을 거부함
    • 404 : Not Found : 요청 리소스 찾을 수 없음
  • 5xx (Server Error) : 서버 오류, 서버가 정상 요청을 처리하지 못함 
    • 500 : 서버 내부 문제로 오류 발생
    • 503 : 서비스 일시적인 과부하 또는 예정된 작업으로 잠시 요청 처리 불가

 

해당 메서드들의 확인은 각 브라우저의 개발자 도구 창에서 찾아볼 수 있다.

구글 새로고침 후 개발자 콘솔의 네트워크 항목

앞에서 말했듯이 해당 상태 코드를 통해 브라우저에서 보낸 요청의 응답 상태를 알 수 있다. 

해당 경우에는 파일을 받아오면서 GET 요청을 하였고 응답의 상태는 성공을 했다는 200을 반환한 것을 볼 수 있다.

 

페이로드(Payload)

 

사용에 있어 전송이 되는 데이터를 의미

HTTP는 데이터를 전송하면서 데이터의 올바른 전송을 위해 여러 가지 포장을 해서 보낸다고 한다.

흡사 우리가 고가의 물건을 주문하면 여러 포장지와 박스를 둘러싸서 보호하는 것처럼

해당 데이터가 정확하고 안전하게 전달되기 위해 다양한 요소를 붙여서 전달한다. 

 

미니프로젝트 내의 페이로드 창

이때 우리가 요청으로 보내고자 하는 데이터만 보는 창이 바로 페이로드 창이다. 

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

[Etc] Presigned URL이란  (0) 2023.08.28
[Web 지식] IPv6 - Internet Protocol  (0) 2023.05.25
[REST API] REST API 설계  (0) 2022.12.22
[HTTP] PUT / PATCH 차이  (0) 2022.12.22
[Basic] 인증, 인가  (0) 2022.12.14