Cookie
쿠키란 커피숍의 쿠폰과 같다. 처음 커피숍을 방문 시 클라이언트에게 쿠폰은 존재하지않는다. 방문 시 쿠폰을 만들어 손님에게 건내주게된다.
클라이언트 | WAS | |
---|---|---|
———-> | ||
getcookies | ||
<———- | ||
addcookie |
(1) 처음 홈페이지에 접속시 클라이언트는 쿠키가 없다.
서버 접속 시에 WAS에서 쿠키가 생겨 클라이언트에게 준다.
*cookie[] request.get cookies() 배열을 줌
쿠키를 몇개 저장가능한가?
브라우저마다 다르지만 도메인당 50개,최대 3000개
저장값은 4kb이다.
(2) 재접속 시 브라우저의 디스크에 저장한 쿠키를 가지고 접속한다. 쿠키는 백엔드 기술이 아니라 프론트(자바스크립트)에서도 설정가능한다. 쿠키는 헤드에 가져가기때문에 큰 값을 전달할 수 없으며 쿠키는 보안성이 낮아서 위변조가 가능하다.
Session
session은 헬스장 손님만의 캐비넷을 만들어 손님에게 캐비넷을 사용할 수 있는 유일한 id를 준다.
클라이언트 | WAS | |
---|---|---|
———-> | ||
요청 | httpSession생성 | |
<———- | ||
세션id |
(1) Session id > 요청정보를 통해 생성, 접근할 수 있는 httpSession을 만든다.
(2) cookie에 담아서 세션id를 전달해 준다. request.getSession http세션에 잠아서 유지하는것 - sessionscope
세션에 값을 담을때 -> session.setAttribute 세션에서 값을 꺼낼때 -> session.getAttribute (꺼낼땐 원래형태로 형변환이 필요하다.)