Cookie

오민영·2021년 7월 6일
0

HTTP Protocol

목록 보기
4/7
post-thumbnail

http 쿠키(웹 쿠키, 브라우저 쿠키)는 서버가 사용자의 웹 브라우저에 전송하는 작은 데이터 조각이다. 브라우저는 데이터 조각들을 클라이언트 로컬(사용자 브라우저)에 저장해 놓았다가 동일한 서버에 재요청시, 저장된 데이터를 함께 제공한다. 통신할 때 HTTP 헤더에 포함되는 텍스트 데이터 파일!

쿠키를 주기적으로 지우지 않으면 브라우저에 많은 쿠키들이 쌓여있는 것을 볼 수 있는데, 이것들이 사용자를 추적할 수도 있다.

쿠키는 소프트웨어가 아니다! 쿠키는 컴퓨터 내에서 프로그램처렁 실행될 수 없으며, 바이러스를 옮길 수도, 악성 코드를 설치할 수 없다. 하지만 스파이웨어를 통해 유저의 브라우징 행동을 추적하는데에 사용될 수 있고, 누군가의 쿠키를 훔쳐서 해당 사용자의 웹 계정 접근 권한을 획득할 수 있다.

쿠키의 목적

자동 로그인 유지, 위시 리스트 저장, 팝업 보지않기, 사용자 이전 스크롤링, 뷰 설정값 등

과거에는 클라이언트 측에 정보를 저장할 때, 쿠키를 주로 사용했으나 최근은 modern storage APIs를 사용해 정보 저장하는걸 권장한다.

모든 요청마다 쿠키가 함께 전송되기 때문에, 성능이 떨어지는 원인이 될 수 있다.

세션 관리(Session management)

  • 서버에 저장해야 할 로그인, 장바구니, 게임 스코어 등의 정보 관리

개인화(Personalization)

  • 사용자 선호, 테마 등의 Setting

트레킹(Tracking)

  • 사용자 행동을 기록하고 분석하는 용도

쿠키 만들기

  1. 브라우저 웹 페이지 접속

  2. 최초 통신에서는 쿠키 값이 없으므로, 클라이언트는 Request를 한다.

  3. 서버에서 클라이언트가 보낸 Request Header에 쿠키가 없음을 인지하고, 통신 상태 (UserID, Password, 조작상태, 방문횟수 등)를 저장한 쿠키를 Response한다.

  4. 클라이언트의 브라우저가 서버에게 받은 쿠키를 생성 / 보존한다.

  5. 두 번째 연결부턴, HTTP Header에 쿠키를 실어서 서버에 Request하면 Response해서 화면에 반영한다.

  • 해당 이미지

세션쿠키과 지속쿠키

세션쿠키

  • 만료 날짜 / 시간을 지정하는 경우 이 곳에 저장된다.

  • 브라우저 메모리에 저장되므로, 브라우저가 종료되면 쿠키는 사라진다.

지속쿠키

  • 만료 날짜 / 시간을 지정하지 않고, 항상 유지하는 것으로 판단하는 경우 이 곳에 저장된다.

  • 파일로 저장되므로, 브라우저가 종료되어도 쿠키는 남아있다.

Reference

참고
참고
참고

profile
이것저것 정리하는 공간

0개의 댓글