프로그래밍 언어/자바 웹

쿠키를 이용한 웹 페이지 연동 기능 & 쿠키 기능 실행 과정

· 코딩마이데이

쿠키(Cookie)란 웹 페이지들 사이의 공유 정보를 클라이언트 PC에 저장해 놓고 필요할 때 여러 웹 페이지들이 공유해서 사용할 수 있도록 매개 역할을 하는 방법입니다.

쿠키의 특징은 다음과 같습니다.

  • 정보가 클라이언트 PC에 저장됩니다.
  • 저장 정보 용량에 제한이 있습니다(파일 용량은 4kb).
  • 보안이 취약합니다.
  • 클라이언트 브리우저에 사용 유무를 설정할 수 있습니다.
  • 도메인당 쿠키가 만들어집니다(웹 사이트 당 하나의 쿠키가 만들어집니다).

쿠키는 클리이언트 PC에 정보를 저장해서 사용하므로 보안에 취약합니다. 따라서 쿠키를 이용한 방법은 주로 보안과 무관한 경우에 한해 사용합니다.

쿠키는 다음과 같이 두 종류로 나눌 수 있습니다.

속성 Persistence 쿠키 Session 쿠키
생성 위치 파일로 생성 브라우저 메모리에 생성
종료 시기 쿠키를 삭제하거나 쿠키 설정 값이 종료된 경우 브라우저를 종료한 경우
최초 접속 시
전송 여부
최초 접속 시 서버로 전송 최초 접속 시 서버로 전송되지 않음
용도 로그인 유무 또는 팝업창을 제한할 때 사이트 접속 시 Session 인증 정보를 유지할 때

 

Persistence 쿠키는 클라이언트에 파일로 저장하는 기능을 합니다. 파일로 생성된 쿠키는 사용자가 만료 시간을 지정할 수 있는 반면에 Session 쿠키는 브라우저가 사용하는 메모리에 생성되는 쿠키입니다. 브라우저가 종료되면 메모리의 Session 쿠키도 자동으로 소멸됩니다.

여러 웹 사이트에서 사용하는 쿠키가 생성된 것을 볼 수 있습니다.

1. 윈도 탐색기를 열고 C:\Users\사용자\AppData\Local\Google\Chrome\User Data\Default\Chach\Cache_Data로 이동하면 크롬에서 사용하는 쿠키 파일이 보일 것입니다.

크롬에서 사용하는 쿠키 파일 위치

쿠키 기능 수행 과정

클라이언트 브라우저가 웹 서버에 요청하면 어떻게 쿠키가 생성되는지 살펴보겠습니다.

브라우저에서 웹 사이트(www.jweb.com)에 접속하면 웹 서버에서 쿠키를 생성해 클라이언트로 전송합니다. 그리고 브라우저는 쿠키를 파일로 저장합니다. 이후 다시 접속해 서버가 브라우저에게 쿠키 전송을 요청하면 브라우저는 쿠키 정보를 서버에 전송하고 서버는 쿠키 정보를 이용해서 작업을 합니다.

쿠키 생성 과정

 

  1. 브라우저로 사이트에 접속합니다.
  2. 서버는 정보를 저장한 쿠키를 생성합니다.
  3. 생성된 쿠키를 브라우저로 전송합니다.
  4. 브라우저는 서버로부터 받은 쿠키 정보를 쿠키 파일에 저장합니다.
  5. 브라우저가 다시 접속해 서버가 브라우저에게 쿠키 전송을 요청하면 브라우저는 쿠키 정보를 서버에 넘겨집니다.
  6. 서버는 쿠키 정보를 이용해 작업을 합니다