1 minute read

  • 쿠키는 브라우저에 저장되는 작은 크기으의 문자열로 HTTP 프로토콜의 일부이며 주로 웹 서버에서 만들어짐

  • 쿠키 사용 순서

    • 서버가 HTTP 응답헤더의 Set-cookie 에 내용 넣어 전달

    • 브라우저는 내용 자체적으로 브라우저에 전달

    • 브라우저는 사용자가 쿠키를 생성하도록 한 동일 서버에 접속할 때마다 쿠키 내용 Cookie 요청 헤더에 넣어서 함께 전달

  • 쿠키는 클라이언트 식별과 같은 인증에 가장 많이 쓰임

  • document.cookie 는 쿠키에 접근할 수 있도록 해줌

    • 쓰기는 해당 쿠키의 값만 갱신

    • 쿠키 이름과 값은 꼭 인코딩

    • 쿠키 하나가 차지하는 용량은 최대 4KB까지 이고, 사이트 하나당 약 20여개 허용

  • 쿠키 옵션

    • path=/ 의 기본값은 현재 경로, 설정한 경로나 그 하위 경로에서만 쿠키 정보 볼 수 있음

    • domain=site.com 옵션으로 서브 도메인에서 쿠키 정보 읽기 설정

    • expires/max-gae 로 쿠키 만료 시간 정해줌. 설정 없을 시 브라우저 닫힐 떄 쿠키도 같이 삭제됨

    • secure 로 HTTPS 연결에서만 쿠키 사용 설정

    • samsite 로 외부 사이트에서 요청 일어날 떄 쿠키 보내지 못 하다록 막아주며 strict/lax 설정에 따라 외부에서의 접속 완전 차단/외부에서의 접속 예외 상황 제외하고 차단. XSRF 공격 막는데 유용

  • XSRF 란 원래의 도메인에서의 쿠키를 다른 도메인에서 훔쳐서(위조)해서 요청하는 공격

  • 서드파티 쿠키

    • 사용자가 방문 중인 도메인이 아닌 다른 도메인에서 설정한 쿠키

    • 쿠키를 설정한 도메인에 종속되기 때문에 사용자 방문 사이트 추적 가능

    • 브라우저에 따라 서브 파티 쿠키 허용하지 않을 수 있음

  • EU 국가 상대로 활동 시 GDPR 준수해야함