1. 쿠키는 결국 브라우저가 서버 대신 기억해주는 작은 메모지이다. HTTP 자체는 요청과 응답 사이에 기억핮디 못하여서 서버가 클라이언트에게 쪽지를 주는 거죠
  2. 기본 개념
    1. 웹 서버가 브라우저에 저장시키는 작은 데이터
    2. 브라우저 내부
    3. 서버가 Set-Cookie 헤더로 내려주면, 브라우저는 같은 도메인으로 다시 요청할 때 Cookie 헤더에 자동 첨부
  3. 특징
    1. 서버가 클라이언트 상태를 간접적으로 기억할 수 있게 해줌
    2. 요청마다 자동 전송되므로 개발자가 일일히 붙일 필요 없음
    3. 도메인, 경로(path), 만료시간, 보안 옵션 등 다양한 속성을 가짐
  4. 장점
    1. 자동 관리: 로그인 세션 같은 걸 브라우저가 알아서 들고 다님
    2. 모든 브라우저/웹 환경에서 기본적으로 지원
    3. 보안 플래그(HttpOnly, Secure, SameSite)
  5. 단점
    1. 용량 제한
    2. 보안 위험
      1. xss에 노출되면 쿠키가 털릴 수 있음 (그래서 HttpOnly 권장)
      2. 세션 쿠키는 탈취 시 게정 하이재킹 가능
    3. 세션 ID를 쿠키에 담아두면 서버가 그 세션 데이터를 관리해야 하므로 확장성 문제가 생김