HTTP Header Element, HTTP Header Field   HTTP 헤더 항목

(2019-06-03)

HTTP 요청 헤더 항목, HTTP 응답 헤더 항목, HTTP 일반 헤더 항목, HTTP 엔터티 헤더 항목, Content-Type, Content-Length

1. HTTP 헤더 내 요청 헤더 (Request Header) 항목

  ㅇ 요청 헤더HTTP 요청 메세지 내에서만 나타나며 가장 방대함

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

     - From : 클라이언트 사용자 메일 주소 
        . 주로, 검색엔진 웹로봇의 연락처 메일 주소를 나타냄
        . 때로는, 이 연락처 메일 주소를 User-Agent 항목에 두는 경우도 있음

     - Cookie : 서버에 의해 Set-Cookie로 클라이언트에게 설정된 쿠키 정보
        . [참고] ☞ 쿠키(Cookie), PHP 세션 참조

     - Referer : 바로 직전에 머물었던  링크 주소

     - User-Agent : 클라이언트 소프트웨어(브라우저) 명칭 및 버전 정보

     * (다음 4개는 주로 HTTP 메세지 본문의 속성 또는 내용 협상용 항목들 임)
     - Accept          : 클라이언트 자신이 원하는 미디어 타입 및 우선순위를 알려줌
        . 텍스트(text/html,text/plain,...),이미지(image/jpeg,...) 등
        . 例) `Accept: */*` => 어떤 미디어 타입도 가능
        . 例) `Accept: image/*` => 모든 이미지 유형
     - Accept-Charset  : 클라이언트 자신이 원하는 문자 집합
     - Accept-Encoding : 클라이언트 자신이 원하는 문자 인코딩 방식
     - Accept-Language : 클라이언트 자신이 원하는 가능한 언어
     * 위 각각이 아래 4.번항의 HTTP 엔터티 헤더 항목 중 Content-xxx와 일대일로 대응됨
        . Accept  ⇔  Content-Type
        . Accept-Charset  ⇔  Content-Type charset-xxx
        . Accept-Encoding  ⇔  Content-Encoding
        . Accept-Language  ⇔  Content-Language

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


2. HTTP 헤더 내 응답 헤더 (Response Header) 항목

  ㅇ 특정 유형의 HTTP 요청이나 특정 HTTP 헤더를 수신했을때, 이에 응답 함

  ㅇ 주요 항목들
     - Server : 서버 소프트웨어 정보를 나타냄

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

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

     - Allow : 해당 엔터티에 대해 서버측에서 지원 가능한 HTTP 메소드리스트를 나타냄
        . 때론, HTTP 요청 메세지HTTP 메소드 OPTIONS에 대한 응답용 항목 임
           .. (OPTIONS : 웹서버측 제공 HTTP 메소드에 대한 질의)
        . 例) Allow: GET,HEAD => 웹서버측이 제공가능한 HTTP 메서드는 GET,HEAD 뿐임을 알림


3. HTTP 헤더 내 일반 헤더 (General Header) 항목

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

  ㅇ 주요 항목들

     - Date  : 메세지를 생성한 일시
        . RFC 1123에서 규정됨
        . 例) Date: Sat, 2 Oct 2018 02:00:12 GMT

     - Connection : 다소 모호한 복잡성 있음
        . 사용 형식 1) Connection: keep-Alive => 현 TCP 커넥션을 유지
           .. HTTP/1.0 에서 만 사용되던 정보
           .. HTTP/1.1 에서는 예전 의미를 대체로 인식하지만, 
              그 기능 자체(지속 커넥션)는 기본으로 됨
        . 사용 형식 2) Connection: `token list`         
           .. 중계 연결(프록시)에 대한 옵션 설정
           .. 중계 중인 인접 HTTP 커넥션 간에 만 적용될 옵션 리스트들로써,
           .. 다음 커넥션에 전달되어서는 안됨
           .. 해당 커넥션 토큰들 각각을 쉼표로 구분시킨 리스트 (token list)
           .. 例) Connection: close => 현 커넥션 직후에 TCP 접속을 끊는다는 것을 알림

     - Cache-Control
     - Pragma
     - Trailer


4. HTTP 헤더 내 엔터티/개체 헤더 (Entity Header) 항목

  ㅇ 선택적인 개체(콘텐츠,본문,리소스 등) 그 자체를 설명함
     - 요청 및 응답 메세지 모두에서 사용 가능
        . HTTP 메세지 내 포함된 선택적인 개체에 대한 구체적인 미디어 타입 등의 설명 등
        . HTTP 메세지는, 이미지,비디오,오디오,HTML 문서,전자메일 등의 개체들을 운반 가능

  ㅇ 주요 항목들

     - Content-Type : 해당 개체에 포함되는 미디어 타입 정보MIME 참조
        . MIME 미디어 타입 및 문자 인코딩 방식(EUC-KR,UTF-8 등)을 지정
        . 구성 : 타입 및 서브타입(type/subtype)으로 구성 
           .. 타입(type)은, 10개 정도 표준으로 지정됨 ☞ IANA 미디어 타입 종류
           .. 즉, (application,audio,font,example,image,message,model,multipart,text,video)
           .. 서브타입(subtype)은, 각 타입별로 수십에서 수백개 정도
        . 例 1) Content-Type:text/html; charset-latin-1 
           .. 해당 개체html으로 표현된 텍스트 문서이고,
           .. iso-latin-1 문자 인코딩 방식으로 표현됨
        . 例 2) Content-Type:application/x-www-form-urlencoded
           .. 해당 개체가 폼으로 전송하는 데이터 임을 알림                   ☞ 폼 요소 참조
     - Content-Language : 해당 개체와 가장 잘 어울리는 자연언어
     - Content-Encoding : 해당 개체 데이터의 압축 방식
     - Content-Length : 전달되는 해당 개체바이트 수 (10진수)
        . 요청응답 HTTP 메세지의 바디 부분의 길이를 지정
        . 또는, 특정 지정된 해당 개체의 길이를 지정함
     * 만일, 압축이 시행되었다면, 위 Content-Encoding,Content-Length 2개 항목을 토대로,
        . 해당 압축을 풀 수 있음
     - Content-Location : 해당 개체가 실제 어디에 위치하는가를 알려줌

     - Location : 리소스가 리다이렉트된 때에 이동된 주소, 또는 새로이 생성된 리소스 주소
        . 리다이렉션 이동되는 경우에는, HTTP 상태 코드 `3xx`가 반환되며,
        . 새로 생성된 경우에는, HTTP 상태 코드 `201 Created`가 반환되며,
        . 이에따라 선택적으로, `Location:` 헤더 항목을 보내게 됨
        . 例) Location: http://www.ktword.co.kr/

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

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


5. [참고사항]  표준 헤더 (표준 헤더)

  ㅇ 인접 두 서버(프록시 등) 간에 만 여향을 미치는 헤더 항목들
     - Keep-Alive, Transfer-Encoding, TE, Connection, Trailer, Upgrade,
       Proxy-Authorization, Proxy-Authenticate


[HTTP] 1. HTTP 2. HTTP 메세지 3. HTTP 헤더 4. HTTP 헤더 항목 5. HTTP 메소드 6. HTTP 상태코드 7. 프록시 8. 캐시 9. 쿠키 10. 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. HTTP 상태코드
                7. 프록시
                8. 캐시
                9. 쿠키
                10. HTTPS
          3.   웹 페이지
          4.   웹 식별
          5.   웹 서비스
          6.   차세대 웹
          7.   웹기술 기타일반
        8.   VPN
        9.   무선인터넷
        10.   전자상거래
        11.   개인 컨텐츠
        12.   인터넷 기타 응용
      9.   인터넷 기타
      10.   패킷교환(PSN)
      11.   인터넷 관련 기관
  7.   정보기술(IT)
  8.   공업일반(기계,재료등)
  9.   표준/계측/품질
  10.   기술경영

 
        최근수정     요약목록     참고문헌