쿠키를 사용하는 이유
- HTTP 서버는 상태를 유지하지 않는다.
- 때때로 웹사이트가 사용자를 확인해야 할 때가 존재
→ 해당 이유로 HTTP는 쿠키(cookie)를 사용 - 대부분의 주요 상용 웹사이트는 쿠키를 사용하고 있음
쿠키기술의 4가지 요소와 쿠키 동작 방식
쿠키가 가지는 4가지 요소
- HTTP 응답 메시지 쿠키 헤더 라인
- HTTP 요청 메시지 쿠키 헤더 라인
- 사용자의 브라우저에 사용자 종단 시스템과 관리를 지속시키는 쿠키 파일
- 웹 사이트의 백엔드 데이터베이스
쿠키의 동작 과정
가정
- 해당 사용자는 PC 인터넷 익스플로러를 통해 항상 웹 접속을 한다.
- PC로 인터넷 익스플로러를 통해 특정 웹사이트(A)를 접속했다.
- 해당 사용자는 과거에 웹사이트(B)를 방문한 적이 있다.
과정
- 웹 서버 A에 요청이 들어올 때, 그 서버는 유일한 식별번호를 생성
- 해당 식별번호로 인덱싱 되는 백엔드 데이터베이스 안에 엔트리를 만듦
- 이후 해당 웹 서버는 사용자의 브라우저에 응답
- 이 HTTP 응답에 식별번호를 담고 있는
Set-cookie:
헤더가 포함 - 예시 : Set-cookie : 1678
- 이 HTTP 응답에 식별번호를 담고 있는
- 사용자 브라우저가 HTTP 응답 메시지를 받았을 때
Set-cookie:
헤더를 확인 가능 - 그다음 브라우저는 관리하는 특정한 쿠키 파일에 그 라인을 덧붙임
- 해당 라인은 서버의 호스트 이름, Set-cookie: 헤더, 식별번호를 포함
- 해당 라인은 서버의 호스트 이름, Set-cookie: 헤더, 식별번호를 포함
- 사용자가 웹 페이지 요청을 할 때,
- 사용자 브라우저는 쿠키 파일을 참조
- 해당 사이트에 대한 사용자 식별 번호를 발췌
- HTTP 요청에 식별번호를 포함하는 쿠키 헤더 파일을 넣는다.
- 특히 서버 A로의 각 HTTP 요청은 아래와 같은 헤더라인을 포함한다.
- Cookie : 1678
- Cookie : 1678
- 특히 서버 A로의 각 HTTP 요청은 아래와 같은 헤더라인을 포함한다.
과정에 대한 해석
- 쿠키는 사용자 식별에 사용할 수 있음
- 사용자가 사이트를 처음 방문하면 사용자는 사용자 확인(이름)을 제공
- 사용자가 사이트를 처음 방문하면 사용자는 사용자 확인(이름)을 제공
- 다음 세션 동안 브라우저는 서버에 쿠키 헤더를 전달하여 서버에게 사용자를 확인
- 쿠키는 비상태 HTTP 위에서 사용자 세션 계층을 생성하는데 이용될 수 있다.
- 쿠키는 비상태 HTTP 위에서 사용자 세션 계층을 생성하는데 이용될 수 있다.
쿠키 사용의 맹점
- 사용자 사생활에 대한 침해로 이어질 수 있음
- 쿠키를 통해 웹사이트는 사용자에 대한 많은 것을 알 수 있음
- 이 정보를 제삼자에게 판매할 수 있음