• 유저 에이전트의 이메일 정보 • 검색 엔진 같은 곳에서 주로 사용한다. • 요청에서 사용 • 일반적으로 잘 사용되지 않음
Referer
• 현재 요청된 페이지의 이전 웹 페이지 주소 • A → B로 이동하는 경우 B를 요청할 때 Referer:A를 포함해서 요청하게 된다. • Referer를 사용해 유입 경로 분석이 가능하다. • 요청에서 사용
User-Agent
• 클라이언트의 어플리케이션 정보 (웹 브라우저 정보 등) • 특정 브라우저 장애가 발생할 때 파악이 가능하다. • 주로 통계 정보를 뽑을 때 사용한다. • 요청에서 사용
Server
• 요청을 처리하는 origin 서버의 소프트웨어 정보 • 응답에서 사용 • 예) Server: Apache/2.2.22(Debian)
Date
• 메세지가 발생한 날짜와 시간 • 응답에서 사용 • 예) Date: Tue, 15 Nov 1994 08:12:31 GMT
특별한 정보 헤더특별한 정보 헤더
종류
설명
Host
• 요청한 호스트 정보(도메인) • 필수 헤더 • 요청에서 사용 • 하나의 서버가 여러 도메인을 처리해야 할 때 구분하기 위해 필요 • 하나의 IP 주소에 여러 도메인이 적용되어 있을 때 Host 헤더를 통해 해당 요청을 어느 도메인으로 받을지 구분한다.
Location
• 페이지 리다이렉션 • 웹 브라우저가 3xx 응답 결과에 Location 헤더가 있으면, Location 위치로 자동 이동한다. (리다이렉트) • 201 (created) : Location값은 요청에 의해 생성된 리소스 URI를 가리킴 • 3xx (redirection) : Location값은 요청을 자동으로 리다이렉션하기 위한 대상 리소스를 가리킴
Allow
• 허용 가능한 HTTP 메소드 • 405(Method Not Allowed)에서 응답에 Allow 헤더를 포함해야 한다. • 예) Allow: GET, HEAD, PUT
Retry-After
• 유저 에이전트가 다음 요청을 하기까지 기다려야 하는 시간 • 503 (Service Unavailable) : 서비스가 언제까지 불능인지 알려줄 주 있다. • 예) Retry-After: Fri, 31 Dec 1999 23:59:59 GMT (날짜 표기) Retry-After: 120 (초단위 표기)
Host 헤더 예시
인증 헤더
종류
설명
Authorization
• 클라이언트 인증 정보를 서버에 전달 • 예) Authorization: Basic xxxxxxxxxxxx
WWW-Authenticate
• 리소스 접근시 필요한 인증 방법 정의 • 401 Unauthorized 응답과 함께 사용 • 인증이 실패 했을 때 WWW-Authenticate 헤더를 사용해 인증 방법을 제시한다. • 예) WWW-Authenticate: Newauth realm="apps", type=1, title="Login to \"apps\", " Basic realm="simple"
쿠키
쿠키 미사용시 처음 사용자가 welcom 페이지에 접근하여 로그인을 했다고 가정해보자.
로그인 이후 welcome 페이지에 다시 접근했을 때 서버는 이전 요청을 기억하지 못하기 때문에 로그인이 취소될 것이다.
HTTP는 무상태(Stateless) 프로토콜이다.
클라이언트가 서버가 요청과 응답을 주고 받으면 연결이 끊어진다.
클라이언트가 다시 요청하면 서버는 이전 요청을 기억하지 못한다.
이렇게 클라이언트와 서버는 서로 상태를 유지하지 않는다.
따라서 로그인 후 재접속 시 로그인이 취소된다.
이러한 것을 해결하기 위해 쿠키라는 개념이 등장했다.
쿠키 사용 시 처음 사용자가 welcom 페이지에 접근해 로그인을 하면,
쿠키 저장소에 해당 사용자의 세션 id를 생성해 저장하게 된다.
로그인 이후 welcom 페이지에 다시 접근했을 때 모든 요청에 쿠키 정보를 자동으로 포함하여,