쿠키란 무엇일까? 개념, 필요성, 구성 요소, 사용 정책
https://www.youtube.com/watch?v=JRXs0gZISwI
쿠키
· 웹 서비스에서 로그인, 검색 기록 등 우리가 웹사이트에서 어떤 일을 했는지 서버가 웹 브라우저에 전송하는 작은 데이터 조각
헨젤과 그레텔에서 유래
쿠키에 저장된 정보들의 쓰임
- 웹 사이트 재방문 시 효율적으로 서비스를 제공
- 서비스 개선을 위한 통계 자료
- 광고
쿠키가 필요한 이유
웹에서 이루어지는 모든 데이터 전송의 기본이 되는 프로토콜인 HTTP의 특징 때문
비연결성(connectionless)
→ 한 사람이 웹사이트를 사용하기 위해 서버에 보내는 모든 요청은 항상 다른 사용자로 인식
비상태성(statless)
→ 서버는 현재 사용자가 로그인한 상태인지 아닌지 알 수 없다.
하지만 위의 두가지 특징 때문에 서버의 확장성이 높아진다.
쿠키의 사용 과정
웹 상에서 고객의 요청 전달과 응답을 받아와 사용자에게 보여주는 것은 웹 브라우저를 통해 이루어진다.
- 서버는 고객이 요청한 정보와 함께 쿠키를 만들어 브라우저에게 전달한다.
- 브라우저는 쿠키를 저장한다.
- 서버에 또 한 번 정보를 요청할 때 쿠키에 저장된 정보를 같이 보낸다.
- 서버는 받은 쿠키를 보고 사용자를 구분하고, 쿠키의 정보를 수정할 경우 수정한 쿠키를 다시 보낸다.
- 수정된 쿠키 정보는 다시 브라우저에 저장된다.
쿠키는 우리의 브라우저에 직접 저장하기 때문에 보안에 취약하여 민감한 정보는 쿠키에 담지 않는다. → 쿠키를 세션과 함께 사용하는 이유
쿠키의 구성 요소
- 키 : 쿠키를 식별하는 키. 중복X
- 값 : 알파벳과 숫자로 이루어짐. 4096 바이트로 제한
- 도메인 : 어떤 서버로 전송되어야 하는지 명시. 명시가 되어있지 않으면 쿠키가 생성된 서버로 전송
- 경로 : 명시한 경로와 그 하위 경로에만 쿠키가 전송. 명시가 되어있지 않으면 루트 경로
- 기한 : 만료일이 되면 사라짐. 만료일을 지정하지 않으면 브라우저가 종료될 때 해당 값은 사라짐 → 세션 쿠키
쿠키의 종류
1. 필수 쿠키
- 사용자가 웹 사이트의 핵심 기능을 사용하는 데 있어 필수적으로 사용해야 하는 쿠키
- 로그인, 장바구니, 결제 등을 이용하는 데 도움을 줌
2. 성능 쿠키
- 사용자의 웹사이트 이용 정보를 수집해 서비스를 효율적으로 개선하는 데 사용
3. 기능 쿠키
- 사용자의 언어, 지역 등의 정보를 저장하여 사용자에게 최적화된 서비스를 제공할 수 있도록 하는 데 사용
4. 타겟팅 쿠키
- 사용자에게 광고 콘텐츠를 제공하는 데 사용
- 서드 파티 쿠키와 가장 연관된 쿠키