백문이불여일타

Jsp&Servlet::쿠키(Cookie)란? || 쿠키의 종류 ,생성위치, 실행과정 || 쿠키API 본문

Jsp

Jsp&Servlet::쿠키(Cookie)란? || 쿠키의 종류 ,생성위치, 실행과정 || 쿠키API

퇴근각 2019. 8. 28. 02:33

웹 페이지끼리 정보를 공유하는 기능 중 쿠기를 이용하는 기능에 대해 알아보자!

 

쿠키(Cookie)란?


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

 

쿠키의 특징

  • 정보가 클라이언트 pc에 저장됩니다.

  • 저장 정보 용량에 제한이 있습니다(파일용량 4kb)

  • 보안이 취약하다.

  • 클라이언트 브라우저에서 사용 유무를 설정할수 있다.

  • 도메인당 쿠키가 만들어진다 (웹 사이트당 하나의 쿠키가 만들어진다!)

팝업창

쿠키는 클라이언트 pc에 정보를 저장해서 사용하므로 -> ★보안에 취약합니다!!

방법은 주로 보안과 무관한 경우에 한해 사용합니다. 

예를들자면, 우리가 웹 페이지를 방문 했을 때 어떤 팝업창이 나타나면 '오늘은 더 이상 보지 않기'를 체크하는데,

이처럼 팝업창이 나타나지 않게 하는 경우 등에 사용합니다. 

 

쿠키의 종류

Persistence 쿠키는 : 

클라이언트에 파일로 정보를 저장메모리의 하는 기능을 말합니다.

파일로 생성된 쿠키는 사용자가 만료 시간을 지정할 수 있는 반면에 

Session 쿠키는:

브라우저가 사용하는 메모리에 생성되는 쿠키입니다.

브라우저가 종료되면 Session 쿠키도 자동으로 소멸됩니다.

 

 

쿠키생성위치

클라이언트 에게 pc에서 쿠키 파일이 생성되는 위치를 확인해보자.

이미 여러 웹 사이트에서 사용하는 쿠키가 생성된것을 확인할수 있다.

 

1.인터넷 익스플로러->도구->인터넷 옵션->설정클릭

2.임시 인터넷 파일 탭 -> 현재위치 ->파일보기 클릭

3.쿠키 파일이 저정되어 있는 파일 전체 확인 


쿠키 기능 실행 과정


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

 

브라우저에서 웹사이트 (www.구글.com)에 최초 접속하면 웹 서버에서 쿠키를 생성해 클라이언트로 전송한다.

그리고 브라우저는 쿠키를 파일로 저장한다.

이후 다시 접속해 서버가 브라우저에게 쿠키 전송을 요청하면 브라우저는 쿠키 정보를 서버에 전송하고 서버는 쿠키 정보를 이용해서 작업을 한다 .

쿠키 생성과정 

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

쿠키 API


실제로 서블릿에서 쿠키 기능 사용시에 이와 관련된 API가 있다.

쿠키는 Cookie클래스 객체를 생성해서 정보를 저장한 후에 서버에서 클라이언트로 전소해 파일로 저장된다.

 

쿠키 API 특징

  • javax.servlet.http.Cookie 를 이용한다.
  • HttpServletResponse의 addCookie() 메서드를 이용해 -> 클라이언트 브라우저에 쿠키를 전송한후 -> 저장
  • HttpServletRequest의 getCookie() 메서드 이용해 -> 쿠키를 서버로 가져온다 

쿠키생성시:

setMaxAge() 메서드 인자 값의 종류를 지정해서 파일에 저장하는

1) Persistence 쿠키를 만들거나,

2) 메모리에만 Session쿠키를 만들수 있다.

 

 setMaxAge() 메서드를 이용한 쿠키 저장 방식은:

1) 인자 값으로 음수나 setMaxAge() 메서드를 사용하지않고, 쿠키를 만들면 Session쿠키로 저장된다.

2) 인자 값으로 양수를 지정하면 Persistence 쿠키로 저장된다.

 

Comments