JSP

쿠키란?

승모근뭉치 2022. 12. 6. 17:17

클라이언트에 대한 정보를 담은 쿠키. 웹브라우저가 쿠키를 받으면

클라이언트 피씨 저장장소에 기록을 해놓고 클라이언트가

또 다른 페이지를 요청한다면 웹브라우저는 쿠키정보를 서버에 

보내요. 서버는 쿠키개인정보 보고 인증판단하고 바로 응답을

한다. 쿠키정보를 웹브라우저와 서버간에 상호협력하에 데이타

전송처리를 할 수 있다. 웹 처음에 생성 시 쿠키를 클라이언트에

먼저 보내고 클라이언트는 저장소에 갖고 있다가 웹 사이트 이용 요청을 할 때

http 헤더에 쿠키정보를 같이 보내서 서버가 헤더에 있는 내용을 확인하고

인증작업을 하지 않고 바로 보낸다? 쿠키가 없으면 서버에서 많은 요청을 받는데

인증을 하고 해서 서버가 다운이 잘 된다. 세션은 서버시스템 안에 있는 것.

사용자가 해당 웹사이트를 이용하기 위해서는 인증 작업이 필요한데 그 사용자의 정보를 사용자의

컴퓨터 하드 디스크에 저장해 놓는게 작은파일인 쿠키이다. 보안상 중요하지 않는 내용은 쿠키를

통해 전달하는게 더 좋다.

쿠키는 사용자가 웹 사이트를 처음 방문할 때 웹 사이트에서 클라이언트의 컴퓨터에 저장해 놓은 작은 파일

 

쿠키를 이용하는 이유. http 프로토콜의 특징. 접속을 바로 끊어버리기 때문에

http 프로토콜은 웹브라우저에 응답 후 일정한 시간이 지나면 접속을 끊는 특징이 있다.

이러한 특징으로 쿠키 기술이 등장하게 됨.

 

쿠키는 서버에서 생성된다.

쿠키는 클라이언트 PC에 저장된다.

쿠키관리는 웹브라우저가 한다.

쿠키의 크기는 4KB로 제한적이다. 한 300개 정도의 데이타를 가질 수 있다고 한다.

 

** 쿠키의 생성 방법과 관련 메소드

 

쿠키 생성은 쿠키 클래스를 사용 --> 쿠키속성 설정(setter) --> 쿠키의 전송 (response 객체에 탑재:addCookie())

 

** 쿠키 관련 메소드

setMaxAge() : 쿠키 유효기간을 설정, 쿠키 삭제와 관련됨. 쿠키의 남은 수명을 0으로 설정하면 쿠키가 사라진다.

setPath() : 쿠키 사용을 위한 디렉토리를 설정(특정 경로명을 갖는 URL전송하도록 설정)

setValue() : 쿠키값을 설정

setVersion() : 쿠키의 버전을 설정

getMaxAge() : 쿠키의 유효기간 정보를 얻어옴

getName() : 쿠키 이름을 얻어옴

getPath() :  쿠키의 유효 디렉토리 정보를 얻어옴

getVersion() : 쿠키의 버전을 얻어옴

getCookies() : 쿠키를 배열형태로 만들어서 리턴한다. 쿠키데이터를 읽어올 때 사용함, 웹 브라우저가 보낸 쿠키를 배열로 반환하는 메소드

 

** 저장된 쿠키를 사용하는 순서

1. 웹 브라우저의 요청에서 쿠키를 얻어온다.

2. 쿠키는 이름, 값의 쌍(상?)으로 된 배열 형태로 리턴된다. 리턴된 쿠키의 배열에서 쿠키의 이름을 가져온다.

3. 쿠키의 이름을 통해서 해당 쿠키의 설정된 값을 추출

 

세션은 서버에만 저장되고 객체형태로 저장되니 JSP에서 접근할 수 있다. 메모리에 올라온거

니깐. 서버에 저장되는 이용자 정보는 세션에 객체형태로 저장된다. 서버같은 경우 JSP를 통해

객체에 접근해야 하기때문에 쉽게 가져가기 어렵다.