https://fomaios.tistory.com/entry/Network-쿠키Cookie란-What-is-a-Cookie

https://fomaios.tistory.com/entry/Network-세션Session이란-What-is-a-Session

Cookie란?

인터넷을 사용하는 유저가 어떤 웹사이트를 방문했을 때 그 사이트가 사용하는 서버를 통해 로컬에 저장되는 작은 데이터이다. 쿠키는 key와 value로 이루어져 있으며 만료기간, 도메인, 경로 등의 정보를 가지고 있다.

쿠키를 사용하는 이유

HTTP의 특징 중 하나는 리소스를 아끼기 위해서 클라이언트와 서버가 연결되지 않는 특징(비연결성)이 있다고 했다.

또한 비용을 줄이기 위해서 서버는 클라이언트의 상태를 가지고 있지 않고 클라이언트가 요청 시에 모든 정보를 담아 보낸다고 했다. (무상태)

위 HTTP의 특징 때문에 사용자의 정보를 저장할 수 없기 때문에 웹사이트는 사용자를 구별할 수 없고 사용자는 매번 번거로운 인증 절차를 진행해야 했었다.

쿠키는 간단한 사용자의 정보를 기억할 수 있는 수단이며 이것은 HTTP의 단점을 해결하게 된다. 바로 이것이 쿠키를 사용하는 이유이다.

HTTP의 특징

쿠키가 생성되는 과정

  1. 클라이언트가 어떤 정보를 요청한다.
  2. 서버는 쿠키를 생성
  3. 생성한 쿠키를 요청한 정보(HTTP헤더)와 함께 돌려 보낸다.
  4. 클라이언트는 로컬에 쿠키를 저장한다.
  5. 재방문시 이미 쿠키가 있는 경우 서버에 쿠키를 전달한다.
  6. 업데이트할 정보가 있다면 서버는 해당 쿠키를 요청한 정보와 함께 돌려 보낸다.

즉 자주 쓰이는 데이터를 서버에서 받아오는것이 아닌 로컬에 저장하여 쉽게 사용하기 위한 수단이다.