6장 Request 헤더

그림으로 배우는 HTTP & Network
(우에노 센 저 / 이병억 역 )
을 읽고 정리한 내용입니다.


6.4. 리퀘스트 헤더 필드

리퀘스트 헤더 필드는 클라이언트 측에서 서버 측으로 송신된 리퀘스트 메시지에 사용되는 헤더

6.4.1. Accept

클라이언트 측에서 그 리소스는 가능하다면 HTML로 받고 싶은데, 안된다면 TEXT라도 괜찮다는 의미

1
Accept: text/html, application/xhtml+xml,  application/xml;q=0.9,*/*,q=0.8

유저 에이전트에 처리할 수 있는 미디어 타입, 미디어 타입의 상대적인 우선 순위를 전달하기 위해 사용

6.4.2. Accept-Charset

  • 문자셋의 상대적인 우선순위를 전달하기 위해서 사용된다.
  • 한 번에 여러 개 지정 가능

6.4.3. Accept-Encoding

유저 에이전트가 처리할 수 있는 콘텐츠 코딩과 코딩의 상대적인 우선순위를 전달하기 위해 사용
*(애스터리스크)를 지정하면, 와일드 카드로서 모든 인코딩 포맷을 가리킴

6.4.4. Accept-Language

1
Accept-Language: ko-kr, en-us:q=0.7;q=0.3

유저 에이전트가 처리할 수 있는 자연어의 세트(한국어와 영어라는 의미)와
자연어 세트의 상대적인 우선 순위를 전달하기 위해서 사용

6.4.5. Authorizaiton

유저 에이전트의 인증 정보(크리덴셜 값)을 전하기 위해서 사용

6.4.6. Expect

1
2
3
# 상태 코드 100 리스폰스를 가진 클라이언트는 리퀘스트할 때
# Except: 100-continue으로 지정해야 한다.
Except: 100-continue

클라이언트가 서버에 특정 동작 요구를 전달한다.

6.4.7. Form

유저 에이전트를 사용하고 있는 유저의 메일 주소를 전달

6.4.8. Host

리퀘스트한 리소스의 인터넷 호스트와 포트 번호를 전달
Host 헤더 필드는 HTTP/1.1에서 유일한 필수 헤더 필드
ex) 같은 IP 주소로 복수의 도메인이 적용되어 있을 때, 어느 도메인에 대한 리퀘스트인지 알 수 없다.
-> Host 헤더 필드에 리퀘스트를 받을 호스트명을 넣어준다.


6.4.9. If-Match

서버 상의 리소스를 특정하기 위해서 엔티티 태그(ETag)값을 전달한다.
서버는 If-Match의 필드 값리소스의 ETag값일치한 경우에만, 리퀘스트를 받아들일 수 있다.

6.4.10. If-Modified-Since

If-Modified-Since의 필드값에 지정된 날짜 이후에 갱신된 리소스라면, 리퀘스트를 받아들인다.

6.4.11. If-None-Match

If-None-Match 필드값ETag일치하지 않은 경우만, 리퀘스트를 받아들인다.
If-Match 필드와는 반대의 동작

6.4.12. If-Range

  • If-Range 필드값ETag 값 혹은 갱신 날짜일치하면,
    Range 리퀘스트로 처리한다.
  • 만일, If-Range 헤더 필드를 사용하지 않으면, 처리를 두 번 해야 한다.

6.4.13. If-Unmodified-Since

  • If-modified-Since반대로 동작
    지정된 리소스가 필드 값에 지정된 날짜 이후에 갱신되어 있지 않은 경우,
  • 리퀘스트를 받아들이도록 전달한다.

6.4.14. Max-Forwards

TRACE 혹은 OPTIONS 메소드에 의한 리퀘스트를 할 때에 전송해도 좋은 서버 수의 최대치를
10진수 정수로 지정한다.
받아넘길 때마다 Max-Forwards값을 1씩 뺀다. 값이 0이 되면, 리스폰스를 반환한다.

6.4.15. Proxy-Authorizaiton

클라이언트와 프록시 사이에 이루어지는 인증
프록시 서버에서의 인증 요구를 받아들인 때, 인증에 필요한 클라이언트의 정보를 전달한다.

6.4.16. Range

1
Range: bytes=5001-10000

리소스의 일부분만 취득하는 Range 리퀘스트를 할 때, 지정 범위를 전달한다.

6.4.17. Referer

리퀘스트가 발생한 본래 리소스의 URI를 전달

6.4.18. TE

1
2
TE:전송 코딩 형식;q=우선순위
TE: gzip, deflate;1=0.5

리스폰스로 받을 수 있는 전송 코딩의 형식과 상대적인 우선순위를 전달

6.4.19. User-Agent

리퀘스트를 생성한 브라우저와 유저 에이전트의 이름 등을 전달하기 위한 필드