[HTTP] - 쿠키(Cookie)의 이해

김진수·2020년 11월 30일
1
post-thumbnail
post-custom-banner

HTTP 쿠키(Cookie)

쿠키(Cookie)란?

HTTP 쿠키(웹 쿠키, 브라우저 쿠키)는 서버가 사용자의 웹 브라우저에 전송하는 작은 데이터 조각입니다. 브라우저는 그 데이터 조각들을 저장해 놓았다가, 동일한 서버에 재 요청 시 저장된 데이터를 함께 전송합니다. 쿠키는 두 요청이 동일한 브라우저에서 들어왔는지 아닌지를 판단할 때 주로 사용합니다. 이를 이용하면 사용자의 로그인 상태를 유지할 수 있습니다.

쿠키는 주로 세 가지 목적을 위해 사용됩니다.

쿠키(Cookie) 목적

  • 세션 관리(Session management)
  • -> 서버에 저장해야 할 로그인, 장바구니, 게임 스코어등의 정보 관리
  • 개인화(Personalization)
  • -> 사용자 선호, 테마 등의 세팅
  • 트래킹(Tracking)
  • -> 사용자 행동을 기록하고 분석하는 용도

쿠키(Cookie) 구성요소

  • Name
    • 쿠키의 이름
  • Value
    • 쿠키의 저장된 값
  • Expires
    • 쿠기가 언제 삭제되는지 결정합니다.
    • ex)expires="Wdy, DD−Mon−YYYY HH:MM:SS GMT"
    • 쿠키에 만료일이 포함되어 있으면 영구적 쿠키로 간주
    • Max-Age를 통해 지정된 만료일이 되면 디스크에서 쿠키가 제거
  • Domain
    • 쿠키가 사용하는 도메인 지정
    • ex) domain=nesoy.github.io
    • 이 값이 현재 탐색 중인 도메인과 일치하지 않을 경우, "타사 쿠키"로 간주되며 브라우저에서 거부.
    • 이렇게 하여 한 도메인에서 다른 도메인에 대한 쿠키를 사용하지 못하게 설정
  • Path
    • 쿠키가 반환할 경로를 결정
    • ex) path=/
    • 도메인의 루트 경로로 이동할 경우 쿠키가 전송
  • Secure
    • 보안 연결 설정
  • HttpOnly
    • HTTP외에 다른 통신 사용 가능 설정

쿠키(Cookie) 종류

쿠키이름특징
Session Cookie보통 만료시간(Expire date)를 설정하고 메모리에만 저장되며 브라우저 종료시 쿠키를 삭제.
Persistent Cookie장기간 유지되는 쿠키, 파일로 저장되어 브라우저 종료와 관계없이 사용.
Secure CookieHTTPS에서만 사용, 쿠키 정보가 암호화 되어 전송.
Third-PartyCookie방문한 도메인과 다른 도메인의 쿠키 보통 광고 베너 등을 관리할 때 유입 경로를 추적하기 위해 사용

쿠키(Cookie) 살펴보기

쿠키(Cookie) 단점

  • 쿠키에 대한 정보를 메 헤더에 추가하여 보내기 때문에 상당한 트래픽을 발생시킵니다.
  • 결제정보등을 쿠키에 저장하였을때 쿠키가 유출되면 보안에 대한 문제점도 발생할 수 있습니다.
profile
백엔드 개발자
post-custom-banner

1개의 댓글

comment-user-thumbnail
2020년 12월 13일

안녕하세요 진수님~ 사용하신 썸네일 이미지가 제가 블로그 활동을 위해서 직접 제작한 이미지와 동일한 것 같습니다~ 무단 도용은 삼가 부탁드리겠습니다.

답글 달기