[230824 DAY04] JSP_쿠키, 세션

jngyoon·2023년 8월 24일

6. JSP

목록 보기
4/8
post-thumbnail

쿠키(Cookie)

웹 브라우저가 저장하고 있는 데이터로, 웹 서버에 요청을 보낼 때
쿠키를 요청 헤더에 담아서 같이 전송한다.

장/단점
	클라이언트의 일정 폴더에 정보를 저장하기 때문에 서버의 부하를 줄일 수 있다.
	데이터가 사용자 컴퓨터에 저장되기 때문에 보안의 위협을 받을 수 있다.
	데이터 저장 용량의 한계가 있다.(소용량의 문자열 데이터)
	일반 사용자가 브라우저 내 기능인 "쿠키 차단"을 사용하면 무용지물이 된다.

쿠키 생성

Cookie 객체명 = new Cookie("Key","Value");

쿠키 저장

사용자 컴퓨터에 저장해야 하므로 응답을 통해서 생성한 쿠키를 보내주어야 한다.
response.addCookie(쿠키객체);

쿠키 사용

사용자가 요청 때 함께 보내주는 헤더에서 쿠키를 꺼내 사용한다.

request.getHeader("Cookie")
	요청에 있는 Header 정보 중에 Cookie 라는 이름의 헤더가 있는지 확인
	null이라면 전송된 쿠키가 하나도 없다는 뜻

request.getCookies()
	전송된 쿠키 객체들의 배열

쿠키객체.getName()
	쿠키의 이름(Key)

쿠키객체.getValue()
	쿠키의 값(Value)

쿠키 수정

쿠키객체.setValue("새로운 값");

쿠키 삭제

쿠키의 유효기간을 설정해주는 방식으로 삭제할 수 있다.

쿠키객체.setMaxAge(n)
	n초만큼 쿠키를 유지하다가 삭제되도록 설정

쿠키 수정이나 삭제시 설정된 쿠키객체를 다시 response를 통해
사용자 컴퓨터에 추가해준다.(기존 정보로 만들어진 쿠키를 덮어씌우기 위해)

세션(Session)

내장객체로서 브라우저마다 하나씩 존재하고 고유한 SessionID 생성 후 정보를 저장한다.
클라이언트 측에는 SessionID만 저장해주고 후에 클라이언트가 정보를 필요로 할 땐
그 SessionID만 보내주며 정보를 요청한다. 
SessionID는 클라이언트 측에 쿠키로 저장이 된다.

세션의 장/단점

JSP에서만 접근할 수 있기 때문에 보안성이 좋고 저장 용량의 한계가 거의 없다.
서버에 데이터를 저장하므로 서버 부하에 걸릴 수 있다.

0개의 댓글