서버와 클라이언트 간 지속적인 상태 유지를 위해 존재
쿠키(Cookie)
- HTTP 쿠키는 상태가 있는 세션을 만들도록 해 줌
- 서버가 사용자의 웹 브라우저에 전송하는 작은 데이터 조각
- 클라이언트 단에 저장하는 만료기간이 존재하는 작은 텍스트 파일
- 만료 날짜 및 경로 설정을 통해 지속성을 제어할 수 있음
- 사용자가 웹사이트를 방문할 경우 해당 웹사이트의 서버를 통해 사용자의 컴퓨터에 설치되는 작은 기록 정보 파일
- 브라우저(클라이언트)는 쿠키를 로컬에 KEY-VALUE의 데이터 형식으로 저장
- 동일한 서버에 재요청 시 저장된 쿠키를 함께 전송
- 쿠키는 두 요청이 동일한 브라우저에서 들어 왔는지 여부를 판단할 때 주로 사용
- 이를 이용하여 사용자의 로그인 상태를 유지할 수 있음 (매 요청마다 쿠키를 함께 전송)
- 상태가 없는(stateless) HTTP 프로토콜에서 상태 정보를 기억시켜 주기 때문
- 즉, 웹 페이지에 접속하면 웹 페이지를 응답한 서버로부터 쿠키를 받아 브라우저에 저장하고, 클라이언트가 같은 서버에 재요청 시마다 요청과 함께 저장해 두었던 쿠키도 함께 전송
쿠키 구조
- HTTP의 Response Header에서 set-cookie 항목을 보면 확인 가능
- Max-age, Path, Expires, Date
- 쿠키들은 세미콜론(;)으로 구분됨
쿠키 옵션
기한 관련 옵션들
Expires
: 지정한 날짜까지 쿠키 유지, UTC 형식으로 작성