호우동의 개발일지

Today :

article thumbnail
더보기
썸네일
쿠키를 이용한 사용자 상태 유지

쿠키를 사용하는 이유

  • HTTP 서버는 상태를 유지하지 않는다.
  • 때때로 웹사이트가 사용자를 확인해야 할 때가 존재
    해당 이유로 HTTP는 쿠키(cookie)를 사용

  • 대부분의 주요 상용 웹사이트는 쿠키를 사용하고 있음

 

 


쿠키기술의 4가지 요소와 쿠키 동작 방식


쿠키가 가지는 4가지 요소

  1. HTTP 응답 메시지 쿠키 헤더 라인
  2. HTTP 요청 메시지 쿠키 헤더 라인
  3. 사용자의 브라우저에 사용자 종단 시스템과 관리를 지속시키는 쿠키 파일
  4. 웹 사이트의 백엔드 데이터베이스

 


쿠키의 동작 과정

쿠키를 이용한 사용자 상태 유지
쿠키를 이용한 사용자 상태 유지

가정

  • 해당 사용자는 PC 인터넷 익스플로러를 통해 항상 웹 접속을 한다.
  • PC로 인터넷 익스플로러를 통해 특정 웹사이트(A)를 접속했다.
  • 해당 사용자는 과거에 웹사이트(B)를 방문한 적이 있다.

과정

  1. 웹 서버 A에 요청이 들어올 때, 그 서버는 유일한 식별번호를 생성
  2. 해당 식별번호로 인덱싱 되는 백엔드 데이터베이스 안에 엔트리를 만듦
  3. 이후 해당 웹 서버는 사용자의 브라우저에 응답
    • 이 HTTP 응답에 식별번호를 담고 있는 Set-cookie: 헤더가 포함
    • 예시 : Set-cookie : 1678

  4. 사용자 브라우저가 HTTP 응답 메시지를 받았을 때 Set-cookie: 헤더를 확인 가능
  5. 그다음 브라우저는 관리하는 특정한 쿠키 파일에 그 라인을 덧붙임
    • 해당 라인은 서버의 호스트 이름, Set-cookie: 헤더, 식별번호를 포함

  6. 사용자가 웹 페이지 요청을 할 때,
    1. 사용자 브라우저는 쿠키 파일을 참조
    2. 해당 사이트에 대한 사용자 식별 번호를 발췌

  7. HTTP 요청에 식별번호를 포함하는 쿠키 헤더 파일을 넣는다.
    • 특히 서버 A로의 각 HTTP 요청은 아래와 같은 헤더라인을 포함한다.
      • Cookie : 1678

 

과정에 대한 해석

  • 쿠키는 사용자 식별에 사용할 수 있음
    • 사용자가 사이트를 처음 방문하면 사용자는 사용자 확인(이름)을 제공

  • 다음 세션 동안 브라우저는 서버에 쿠키 헤더를 전달하여 서버에게 사용자를 확인
    • 쿠키는 비상태 HTTP 위에서 사용자 세션 계층을 생성하는데 이용될 수 있다.

 

쿠키 사용의 맹점

  • 사용자 사생활에 대한 침해로 이어질 수 있음
    • 쿠키를 통해 웹사이트는 사용자에 대한 많은 것을 알 수 있음
    • 이 정보를 제삼자에게 판매할 수 있음