🕸️ Network

Cookie

정의

웹 사이트에 접속할 때 서버에 의해 사용자의 컴퓨터에 저장되는 정보

목적 및 특징

목적

HTTP는 무상태 프로토콜이다.
→ 사용자를 구분하기 위해 사용

특징

  • 사용자 로그인 세션 관리
  • 광고 정보 트래킹

Expires

  • 만료일이 되면 쿠키 삭제
    • Set-Cookie: expires=Sat, 26-Dec-2020 04:39:21 GMT
  • 0이나 음수를 지정하면 쿠키 삭제
    • Set-Cookie: max-age=3600 (3600초)
  • 세션 쿠키: 만료 날짜를 생략하면 브라우저 종료 시 삭제
  • 영속 쿠키: 만료 날짜를 입력하면 해당 날짜까지 유지

Domain

  • 명시: 명시한 문서 기준 도메인 + 서브 도메인 포함
    • domain=example.org를 지정해서 쿠키 생성
  • 생략: 현재 문서 기준 도메인만 적용

Path

  • path=/home
  • 이 경로를 포함한 하위 경로 페이지만 쿠키 접근
  • 일반적으로 path=/ 루트로 지정

Secure

쿠키는 http, https를 구분하지 않고 전송
  • Secure
    • https인 경우에만 전송
  • HttpOnly
    • XSS 공격 방지
    • JS에서 접근 불가(document.cookie)
    • HTTP 전송에만 사용
  • SameSite
    • XSRF 공격 방지
    • 요청 도메인과 쿠키에 설정된 도메인이 같은 경우에만 쿠키 전송

예시

  • Set-Cookie: 서버에서 클라이언트로 쿠키 전달(응답)
  • Cookie: 클라이언트가 서버에서 받은 쿠키를 저장하고, HTTP 요청시 서버로 전달

주의

  • 네트워크 추가 트래픽 유발
  • 보안에 민감한 정보 저장 금지
  • 웹 브라우저에 저장하고 싶지만, 서버에 전송하지 않는 데이터는 웹 스토리지 사용

비교군과의 차이

질문

출처