쿠키

9999·2022년 1월 3일
0

CS

목록 보기
11/19
post-thumbnail

🍪 쿠키(Cookies)란?

  • 사용자를 식별하고 세션을 유지하는 방식 중에서 가장 널리 사용되는 방식.
  • F12누르고 Network → Name에서 아무거나 누르고 header부분에 가면 보임.

쿠키타입


  • 사용자가 사이트를 탐색할 때, 관련 설정과 선호 사항들을 저장하는 임시 쿠키.
  • 브라우저를 닫으면 삭제됨.
  • 디스크에 저장되어 브라우저를 닫거나 컴퓨터를 재시작하더라도 남아있음.
  • 주로 로그인정보를 유지하려고 사용됨.
  • 쿠키에 max-age파라미터가 있으면 지속쿠키.

쿠키속성


Domain 속성

  • 쿠키는 Domain 속성을 기술해서 어떤 사이트가 그 쿠키를 읽었는지 제어할 수 있음.
  • 들어갔던 모든 사이트에는 쿠키가 적용되어 있음.

Path 속성

  • 웹 사이트 일부만 쿠키를 적용할 수 있음.
  • URL 경로의 앞부분을 가리키는 Path속성을 기술해서 해당 경로에 속하는 페이지만 쿠키를 전달함.

쿠키의 구성요소


Version0 쿠키

  • 최초의 쿠키로 넷스케이프가 정의함.
  • Set-cookie 응답 헤더와 Cookie요청 헤더와 쿠키를 조작하는데 필요한 필드들을 정의함.
  • 헤더에 쿠키의 이름과 값을 가짐.

Cookie: session-id=001-1184822; session-id-time=1004032800

Version1 쿠키

  • Version0보다 헤더가 좀 더 복잡하게 되어있음.
  • 사용자 이름과 추가적인 키워드를 구별하기 위해 쿠키 헤더에 $접두어가 있음.

set-cookie=”Set-Cookie2:” cookies

cookies=1#cookie

cookie-version=”$Version” “=” value

path=”$Path” “=” value

쿠키와 캐싱

  • 쿠키 트랜잭션과 관련된 문서를 캐싱하는 것은 주의해야 함.
  • 쿠키가 다른 사용자에게 할당돼버리거나, 누군가에게 노출되는 최악의 상황이 나올 수 있음.

🤔 캐싱되지 말아야 한다면?

  • Cache-Control: no-cache=”Set-Cookie”를 기술하여 명확하게 표시.

캐시해도 된다면?

  • Cache-Control: public을 사용.

⇒ 이렇게 명확하게 표시해준다면 웹의 대역폭을 더 절약시켜줌.

부록

쿠키보안

  • 사실 쿠키 그 자체가 보안상으로 엄청 위험한 것은 아님.
  • 하지만 개인정보를 다루거나 사용자를 추적하는 의도로 사용될 수 있기 때문에 조심해서 나쁠건 없음.
  • 오용되는 사례 중 하나가 마케팅의 목적으로 사용자들의 쿠키를 추적하여 사용 패턴을 데이터화하는 경우가 있음.
  • 쿠키에 대한 부정적인 여론이 많긴 하지만 누가 받고 보냈는지 명확히 알고 개인정보 정책에만 유의한다면 장점의 메리트가 더 크게 느껴짐. (세션 조작, 트렌젝션)

0개의 댓글