쿠키(Cookie)

유상우·2023년 4월 10일
0

개발 용어

목록 보기
2/4

우리가 누구인지 알고 있는 쿠키

어떤 웹 사이트에 방문 했을 때 브라우저를 통해 컴퓨터에 보관하는 기록물

예를 들어 페이스북은 쿠키를 활용해서 여러분이 페이스북 외에 어떤 웹 사이트를 방문했는지, 관심사는 무엇인지, 인터넷에서 무서을 하는지 관찰합니다.
이것을 이해하려면 HTTP가 무엇인지 알아야 합니다.

HTTP란?

HTTP는 HyperText Transfer Protocol의 줄임말로, 인터넷에서 정보를 주고받기 위한 프로토콜

쉽게 말해서 인터넷에서 사용자와 서버가 정보를 주고 받기 위한 일종의 규칙입니다. 그런데 HTTP 에서는 우리와 서버는 항상 연결이 되어 있지 않습니다.(stateless) 예를 들어, 우리가 어떤 홈페이지에 들어가기 위해 브라우저에서 주소를 입력하면 그 서버는 해당하는 데이터를 우리에게 보내 주고, 데이터(html,css,js 등)를 다 보내면 우리와 상태를 끊고 우리가 누군지 잊어버립니다. 하지만 가끔 서버는 우리가 누구인지 기억해야 하는 상황이 생깁니다. 그래서 쿠키가 필요한거죠.

로그인으로 알아보는 쿠키

우리가 어떤 웹사이트를 접속하고 이런 저런 작업을 하다가 웹사이트를 끈 다음, 다시 웹사이트를 방문하더라도 로그인이 유지되어 있는 상황을 자주 목격할 수 있습니다. 마치 서버가 기억하는 것 처럼요. 그 이유는 서버에서 여러분에게 영수증같은 것을 발행해 주기 때문입니다. 영수증에 이 웹사이트에 접속한 사람은 OO이고 우리는 이 사용자를 신뢰한다는 정보가 적혀있고 이 영수증은 여러분의 컴퓨터 어딘가에 저장됩니다.

이후 같은 웹사이트에 다시 접속하면 여러분이 모르는 사이에 이 영수증을 보냅니다. 그러면 서버는 다시 이 영수증을 보고 '우리가 신뢰하고 있는 사용자구나' 라고 로그인 상태를 유지해 주는 것이지요.
이 영수증이 바로 Cookie 입니다.

다른 예로 여러분이 어떤 웹사이트의 언어를 한국어로 설정하면 그 기록도 쿠키에 남게 됩니다. 그래서 이후 그 웹사이트에 접속할 때마다 우리말로 화면을 볼 수 있게 되는거죠.

쿠키에도 규칙이 있다고?

이렇게 기억력을 보완해주는 쿠키는 편의, 보안등의 이유로 다음과 같은 몇 가지 규칙이 있습니다.

  • 쿠키는 도메인 1개에만 한정한다.
    - 예를 들어 페이스북에서 생성된 쿠키는 넷플릭스에 보낼 수 없습니다.
  • 쿠키는 자동으로 보낸다.
    - 쿠키는 원하든 원하지 않든 여러분의 컴퓨터와 서버를 왔다 갔다 할 수 있습니다. 물론 '쿠키 수집에 동의하십니까?'라는 문구를 통해 쿠키를 보내주는 사이트도 존재합니다.
  • 쿠키는 컴퓨터에 자동으로 저장됩니다.

도메인과 상관 없는 쿠키?

하지만 도메인과 상관없이 사용되어지는 쿠키도 존재합니다. 예를 들어서 나의 개인 블로그에 페이스북의 어떤 기능을 가져와서 해당 기능을 사용하기 위해 페이스북에 요청을 하면 페이스북은 해당 사용자의 쿠키를 가지고 있을 수 있습니다.

profile
Potentialist

0개의 댓글