쿠키
요즘은 localStorage
, sessionStorage
를 이용하지만 아직 쿠키를 사용중인 곳이 많다.
쿠키에 대한 이해는 필수
쿠키란?
- http의 일종으로 인터넷 사용자가 어떠한 웹사이트를 방문할 경우 그 사이트가 사용하고 있는 서버를 통해 인터넷 사용자의 컴퓨터에 설치되는 작은 기록 파일을 뜻한다.
- 이 기록 파일에 담긴 정보는 인터넷 사용자가 같은 웹사이트를 방문할 때마다 읽히고 수시로 새로운 정보로 바뀐다.
- 쿠키의 목적
- 세션 관리 ( 로그인, 장바구니..)
- 개인화 (테마 등)
- 사용자 행동 기록, 분석 용
쿠키는 왜 쿠키일까?
헨젤과 그레텔이 자신의 경로를 표시하기 위해 쿠키를 떨어뜨렸다..가 아닌
두 프로그램 사이에 전송되는 작은 데이터 패킷을 매직쿠키
이라 불렀던 것이 유래이다.
HTTP 쿠키
- HTTP 쿠키(웹/브라우저 쿠키)는
서버
가 사용자의 웹 브라우저
에 전송하는 작은 데이터 조각이다.
- 브라우저는 이 데이터 조각들을 저장해 놨다가 동일한 서버에 재요청시 저장된 데이터를 함께 전송한다.
- 주로 동일한 브라우저에서 들어왔는지 판단할 때 자주 사용합니다.
- stateless (상태가 없는) http 상태 정보를 기억해주기 때문
- 과거에는 쿠키를 자주 사용했으나 현재는 sessionstorage를 권장한다. → 모든 요청마다 쿠키가 함께 전송되기 때문에 성능이 떨어지기 때문이다.
쿠키의 작동방식
- 쿠키 또한 http의 응답과 요청에 따라 작동한다.
- 요청을 받은 서버에서 클라이언트로 보내고
- 쿠키를 받은 클라이언트는 도메인 이름 순으로 정렬한 후 저장한다.
- 이후 동일한 서버로 http 요청을 보내면 쿠키도 같이 전송된다.
라이프 타임
쿠키의 라이프 타임을 지정할 수 있다.
session 쿠키
persistent 쿠키
- 명시된 날자에 삭제되거나, Max-age 기간 이후에 삭제된다.
Set-Cookie: id=hong; Expires=Wed, 25 May 2021 10:30:00 GMT;