HTTP 메시지 구조

wannabeking·2022년 6월 10일
0

CS

목록 보기
5/27

HTTP 메시지

  • HTTP 메시지는 다음과 같이 구성된다.
    • Start Line
    • Header
    • Empty Line
    • Body


  • Request 메시지와 Reponse 메시지의 구조가 다른 부분이 있으므로 나누어 알아보자.


Request, Response 공통

  • Header
    • General Header
      • Date

        Date: (day-name), (day) (month) (year) (hour):(minute):(second) GMT

      • Connection

        Connection: close || Keep-Alive
        close: 메시지 교환 후 TCP 연결 종료
        Keep-Alive: 메시지 교환 후 TCP 연결 유지

      • Cache-Control
    • Entity Header
      • Content-Length

        Content-Length: 128
        Header + Body의 크기 (Byte)

      • Content-Type

        Content-Type: text/html; charset=utf-8
        미디어 타입(MIME)와 문자열 인코딩

      • Content-Language

        Content-Language: en-US
        Body를 이해하는데 적절한 언어

      • Content-Encoding

        Content-Encoding: gzip
        인코딩 타입



HTTP Request 메시지

  • Start Line
    • HTTP 메소드
      • GET, POST, PUT, DELETE 등
      • 요청이 어떤 목적, 종류인지
    • 요청 대상
      • 요청을 보낼 경로
      • 쿼리스트링을 포함하여 문자열 전달 가능
    • HTTP 버전
      • 메시지를 처리하기 위해 버전 명시
  • Header
    • Request Header
      • Host

        Host: developer.mozilla.org
        요청자의 호스트 정보

      • User-Agent

        User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.9; rv:50.0)
        요청자의 소프트웨어 정보

      • Accept

        Accept: text/html,application/xhtml+xml,application/xml;q=0.9,/;q=0.8
        요청자가 원하는 미디어 타입 및 우선순위


        Accept-Language: en-US,en;q=0.5
        요청자가 원하는 언어 set


        Accept-Encoding: gzip, deflate, br
        요청자가 원하는 인코딩 방식

      • Cookie

        Cookie: name=value; name2=value2; name3=value3

      • Referer

        Referer: "url"
        현재 요청을 보낸 페이지의 절대 혹은 부분 주소

  • Body
    • 선택적으로 사용 가능
    • 요청과 관련된 데이터


HTTP Response 메시지

  • Start Line
    • HTTP 버전
      • 메시지를 처리하기 위해 버전 명시
    • 상태 코드
      • 요청의 결과
    • 상태 텍스트
      • 상태 코드에 대한 설명
  • Header
    • Response Header
      • Server

        Server: Apache/2.4.1 (Unix)
        요청을 수행한 서버 정보

      • Set-Cookie

        Set-Cookie: "cookie-name"="cookie-value"
        쿠키 설정

      • Age

        Age: "delta-seconds"
        객체가 프록시 캐시에 있었던 초단위

      • Location

        Location: "url"
        redirection 할 URL

  • Body
    • 상태 코드의 종류에 따라 필요하거나 아닐 수 있음
    • 응답과 관련된 데이터


profile
내일은 개발왕 😎

0개의 댓글