- Set-Cookie: 서버에서 클라이언트로 쿠키 전달 (응답)
- ex) set-cookie: sessionId=abcde1234; expires=Sat, 26-Dec-2020 00:00:00 GMT; path=/; domain=.google.com; Secure
- Cookie: 클라이언트가 서버에서 받은 쿠키를 저장하고, HTTP 요청 시 서버로 전달
사용하는 이유
서버는 기본이 무상태(Stateless) 프로토콜이므로, 클라이언트가 다시 요청하면 서버는 이전 요청을 기억하지 못한다.
그럼 클라이언트가 모든 요청에 사용자 정보를 포함해서 보낸다면?
- 모든 요청에 사용자 정보가 포함되도록 개발해야 한다.
- 브라우저를 완전히 종료하고 다시 열면 다시 사용자의 정보를 받아야 한다.
저장되는 과정
-
사용자 정보를 요청 메세지로 보낸다.
-
해당 내용을 서버가 Set-Cookie에 담아 응답 메세지로 보낸다.
-
브라우저의 쿠키 저장소가 Set-Cookie의 내용을 저장한다.

-
다른 페이지에 접속할 시 쿠키 저장소에서 조회한 쿠키를 통해 인증 등을 확인한다.

-
모든 요청에 쿠키 정보는 자동 포함된다.

사용하는 곳
특징
- 쿠키 정보는 항상 서버에 전송된다.
- 네트워크 트래픽 추가를 유발한다.
- 최소한의 정보만 사용해야 한다. (세션 id, 인증 토큰)
- 서버에 전송하지 않고, 웹 브라우저 내부에 데이터를 저장하고 싶으면 웹 스토리지를 이용해야 한다.
- 웹 브라우저(IE, Chrome, Firefox등...)마다 쿠키가 저장되는 위치가 다르다.
- 쿠키는 이름-값 쌍의 형태의 정보를 문자열로 저장한다.