HTTP에 대해

Leo·2023년 7월 12일
0

FrontEnd

목록 보기
13/26
post-thumbnail

HTTP란?

  • 서버와 클라이언트의 사이에서 어떻게 메시지를 교환할지를 정해놓는 규칙이다.
  • HTTP는 기본적으로 request(요청)/response(응답) 구조로 되어있다.

Request Message 구조

  1. Start Line
  • HTTP method : 요청의 의도를 담고 있는 GET, POST, PUT, DELETE등이 있다
  • URL : 리소스를 요청하는 주소를 의미합니다.
  • HTTP version : HTTP/1.1을 가장 많이 사용하며 최근에는 HTTP/2의 사용이 늘고 있습니다.
  1. Headers
  • 해당 request에 대한 추가 정보를 담고 있는 부분
  • request 메시지
  • body의 총 길이

Header 타입

  1. Content-Type : Body에 들어가는 요청 전문의 Type을 의미한다.
    json을 보낼 때는 application/json,
    이미지나 파일을 전송할 때 사용할 때는 multipart/form-data,
    바이너리가 없는 form을 전송할 때 사용할 때는 application/x-www-form-urlencoded,
    타입이 없는 text를 전송할 때 사용할 때는 plain/text를 사용합니다.
    이 부분을 잘못 체크해서 에러나는 케이스가 많으니 이유없이 API 호출이 실패할 때 한번 확인해 보세요
  2. Accept : 응답 받을 메세지 타입을 명시합니다.
  3. Connection : 주로 keep-alive로 셋업합니다. keep-alive로 셋업하면 매 요청시 커넥션을 다시 맺지 않고 커넥션을 유지하기 때문에 성능향상을 기대할 수 있다.
  4. User-Agent : 사용자의 기기를 식별할 수 있다. 기기/OS/브라우저 별 예외를 처리할 때 많이 사용되며 수용자 통계를 수집하기 위해서도 사용된다.
  5. Authorization : 인증 정보를 담을 때 사용하는 Header입니다. 주로 인증 토큰을 Authorization Header에 담아보냅니다.
  6. Cookie : 개인 브라우저에 저장되는 Cookie 정보 보낼 때 사용하는 Header입니다.
  7. Session-id : Session에 대한 id값을 지정하는 부분이다.
  1. Body
  • request의 실제 메시지/내용
  • 전송하는 메시지가 없다면 body부분은 비어있다.

Response Message 구조

  1. Status Line
  • Response의 상태를 간략하게 나타내주는 부분
  • HTTP version
  • Status Code
  • Status Text
  1. Headers
  • 해당 request에 대한 추가 정보
  • Response 메시지
  • body의 총 길이
  • Request Header 타입과 유사하다
  1. Body
  • request의 실제 메시지/내용
  • 모든 Response가 body가 있지는 않다. 데이터를 전송할 필요가 없을 경우 body가 비어있게 된다

0개의 댓글