HTTP Header   HTTP 헤더, HTTP 헤더 항목

(2018-06-02)

HTTP Body, HTTP 바디, HTTP 요청 헤더, HTTP 응답 헤더

1. HTTP 헤더 및 바디(본체,본문)헤더
     - 웹 서버클라이언트 사이에서, 일반 문서 데이터 이외에 추가적인 정보를 교환할 수
       있도록 선두에 삽입되는 요소로 수십개의 다양한 종류를 갖음
     - (문자 기본 인코딩 제한 : ISO 8859-1)

  ㅇ 바디
     - 실제 내용이 들어있는 부분

  ※ 헤더 및 바디 간의 구분은 빈 줄(CRLF)에 의함
     - 바디는 일반 텍스트 형태 이외에도 이진 데이터 형식(이미지 등)도 가능


2. 일반적인 헤더 구성   ☞ HTTP 메세지 참조

   

  ※ 위에서, Blank Line(빈줄,CRLF)는 HTTP 헤더 항목들과 본문 시작을 구분시켜 줌


3. HTTP 헤더 항목 종류

   ㅇ 요청 헤더 (Request Header) 항목
      - 요청 헤더는 요청 메세지 내에서만 나타나며 가장 방대함

         . Host : 요청하는 호스트에 대한 호스트명포트번호 (*필수*)
            .. (HTTP/1.1 이후부터 Host 필드는 필수 항목. 웹브라우저는 이를 반드시 포함 필요)
            .. Host 필드에 도메인명 및 호스트명 모두를 포함한 전체 URI(FQDN) 지정 필요
            .. 이에따라, 동일 IP 주소를 갖는 단일 서버에 여러 사이트가 구축 가능

         . From : 클라이언트 사용자 메일 주소 
            .. 주로, 검색엔진 웹로봇의 연락처 메일 주소를 나타냄
            .. 때로는, 이 연락처 메일 주소를 User-Agent 항목에 두는 경우도 있음
         . Cookie : 서버에 의해 Set-Cookie로 클라이언트에게 설정된 쿠키 정보
            .. [참고] ☞ 쿠키(Cookie), PHP 세션 참조
         . Referer : 바로 직전에 머물었던  링크 주소
         . User-Agent : 클라이언트 소프트웨어(브라우저) 명칭 및 버전 정보

         . Accept : 클라이언트 자신이 이해 가능한 미디어 타입 및 우선순위를 지정
            .. 텍스트(text/html,text/plain,...),이미지(image/jpeg,...) 등
            .. 例) Accept: */* => 어떤 미디어 타입도 가능함을 알림
         . Accept-Charset : 클라이언트 자신이 이해 가능한 문자 인코딩 방식
         . Accept-Encoding : 클라이언트 자신이 이해 가능한 압축 방식
         . Accept-Language : 클라이언트 자신이 이해 가능한 언어

         . If-Modified-Since : 제시한 일시 이후로만 변경된 리소스를 취득 요청


   ㅇ 응답 헤더 (Response Header) 항목
      - 특정 유형의 HTTP 요청이나 특정 HTTP 헤더를 수신했을때, 이에 응답 함

         . Server : 서버 소프트웨어 정보를 나타냄
         . Set-Cookie : 서버측에서 클라이언트에게 세션 쿠키 정보를 설정
            .. `속성이름(attribute)/속성값(value);` 형태로 다수 정보들이 설정됨
            .. RFC 2965에서 규정됨

         . Accept-Range
         . Age
         . ETag
         . Proxy-authenticate


   ㅇ 일반 헤더 (General Header) 항목
      - 요청 및 응답 메세지 모두에서 사용 가능한 일반 목적의(기본적인) 헤더 항목

         . Date  : 메세지를 생성한 일시
            .. RFC 1123에서 규정됨
            .. 例) Date: Sat, 2 Oct 2018 02:00:12 GMT
         . Connection : 다소 모호한 복잡성 있음
            .. 클라이언트서버 간 연결에 대한 옵션 설정
            .. 사용 형식 : Connection: `Token list`
            .. 例) Connection: close => 현 HTTP 메세지 직후에 TCP 접속을 끊는다는 것을 알림
            .. 例) Connection: Keep-Alive => 현 TCP 커넥션을 유지
         . Cache-Control
         . Pragma
         . Trailer


  ㅇ 엔터티/개체 헤더 (Entity Header) 항목
     - HTTP 메세지 내에 포함된 선택적인 개체에 대한 구체적인 미디어 타입 등의 설명 등
     - HTTP 메세지는, 이미지,비디오,오디오,HTML 문서,전자메일 등의 개체들을 실어나를 수 있음

         . Content-Type : 본문 개체에 포함되는 미디어 타입 정보
            .. MIME 미디어 타입 및 문자 인코딩 방식(EUC-KR,UTF-8 등)을 지정
            .. 타입 및 서브타입(type/subtype) 구성 
            .. 타입은 9개 정도 (text,image,audio,video,application,multipart,message,
               model,eample)가 표준으로 지정됨 ☞ IANA 미디어 타입 종류
            .. 例) text/html; charset-latin-1 => 해당 개체가 iso-latin-1 문자집합 임

         . Content-Language : 본문 개체와 가장 잘 어울리는 자연언어
         . Content-Encoding : 본문 개체 데이터의 압축 방식
         . Content-Length : 전달되는 본문 개체바이트 길이 또는 크기
           .. 응답 메세지 바디의 길이(10진수)를 지정함
         . Content-Location : 리소스가 실제 어디에 위치하는가를 알려줌

         . Location : 리소스가 리다이렉트된 때에 이동된 주소, 또는 새로이 생성된 리소스 주소
            .. 새로 생성된 경우에 HTTP 상태 코드 `201 Created`가 반환됨
            .. 例) Location: http://www.ktword.co.kr/

         . Allow : 해당 리소스가 지원 가능한 HTTP 메소드리스트를 나타냄
            .. 例) Allow: GET,HEAD => 서버가 제공가능한 HTTP 메서드는 GET,HEAD 뿐임

         . Expires : 리소스가 지정된 일시까지 캐시로써 유효함
         . Last-Modified : 리소스를 마지막으로 갱신한 일시

         . Transfer-Encoding: chuncked
            .. 동적으로 생성되어 바디 길이를 모르는 경우에 조금씩 전송 가능
            .. 각 chunk 마다 그 시작에 16진수 길이를 삽입하여 chunk 길이를 알려줌


[HTTP] 1. HTTP 2. HTTP 메세지 3. HTTP 헤더 4. HTTP 메소드 5. HTTP 코드 6. 프록시 서버 7. 쿠키 8. HTTPS
  1.   기술공통
  2.   기초과학
  3.   진동/파동
  4.   방송/멀티미디어/정보이론
  5.   전기전자공학
  6.   통신/네트워킹
        1. 통신 이란?
        2. 신뢰적 통신
    1.   통신이론
    2.   선로/전송
    3.   통신망 일반
    4.   회선교환(PSTN)
    5.   무선/이동통신
    6.   광통신
    7.   인터넷/데이터통신
          1. 데이터통신망
          2. 인터넷
          3. 데이터 네트워크 설계
      1.   데이터 단위
      2.   프로토콜/계층
      3.   데이터 링크
      4.   TCP/IP
      5.   라우팅
      6.   인터넷 QoS
      7.   인터넷 관리
      8.   인터넷 응용
        1.   NetBIOS
        2.   DNS
        3.   가상단말
        4.   FTP
        5.   전자메일
        6.   VoIP
        7.   웹기술
              1. 웹 이란?
              2. 하이퍼텍스트
          1.   웹 구성
          2.   HTTP
            1.   1. HTTP
                2. HTTP 메세지
                3. HTTP 헤더
                4. HTTP 메소드
                5. HTTP 코드
                6. 프록시 서버
                7. 쿠키
                8. HTTPS
          3.   웹 페이지
          4.   웹 식별
          5.   웹 서비스
          6.   차세대 웹
          7.   웹기술 기타일반
        8.   VPN
        9.   무선인터넷
        10.   전자상거래
        11.   개인 컨텐츠
        12.   인터넷 기타 응용
      9.   인터넷 기타
      10.   패킷교환(PSN)
      11.   인터넷 관련 기관
  7.   정보기술(IT)
  8.   공업일반(기계,재료등)
  9.   표준/계측/품질
  10.   기술경영

 
        최근수정     요약목록(시험중)     참고문헌