Cookie : 클라이언트 측에서 관리되는 정보로 쿠키는 하드디스크에 저장되어 있기 때문에 브라우저를 종료해도 사라지지 않는다. 그래서 보안의 문제를 가지고 있다. 따라서 보안에 관련된 정보는 세션으로 처리하고, 보안과 관련 없는 정보는 쿠키로 처리한다.
사용자를 식별하기 위한 쿠키 (자동으로 생성되는)를 보통 세션 쿠키라고 한다.
자동으로 발행되는 쿠키가 세션 쿠키이다. - 이건 was 마다 다르다.
수동으로 발행하는 쿠키를 수동쿠키 또는 사용자 정의 쿠키라고 부른다.
Session : 세션은 서버 측의 컨테이너에서 관리되는 정보로, 컨테이너에 접속해서 종료되기까지 유지된다. 서버측에서 관리되기 때문에 보안에 안전하다고 볼 수 있다. 세션은 세션의 유지 시간을 설정 할 수 있다.
HTTP를 사용한 웹 서버 통신은 기본적으로 Request/Response를 이용하여 한번 전송하고, 한번 응답하는 서비스를 종료한다. 그래서 사용자의 정보를 유지하기 위해 Session Tracking을 사용한다. (추가!!!!)
Cookie와 Session을 사용하는데 있어서 반드시 알아야 하는 것은 동시에 많은 사용자가 페이지에 접속하게 된다면 session이 발생하여 메모리를 차지하게 된다는 것이다. 그래서 서버가 죽는 경우가 발생 할 수 있다.
일예로 아마존에서 이벤트를 했는데 동시에 접속자가 몰려서 session이 많이 발생하여 메모리를 잡아먹게 되어 서버가 다운 되는 경우가 발생했다고 한다.;;;
그래서 개발자가 개발시에 주의해야 할 점은 jsp페이지에서
<%@ page language="java" contentType="text/html; charset=EUC-KR" pageEncoding="EUC-KR" session="true"%>
page 지시어에 보면 session="true" 항목이 있다. 기본값은 true이고 HttpSession의 사용여부를 결정한다.
이 부분을 false로 놓고 개발을 해야 한다. 그리고 로그인 같은 세션이 필요한 곳에서는 세션을 살려 놓고 작업을 한다.
이클립스에서 이부분을 설정하는 부분을 보면
Windows - Preferences - Web - JSP Files - Editor - Templates 로 이동해 보면 아래와 같은 그림을 볼 수 있다.
<%@ page language="java" contentType="text/html; charset=${encoding}"
pageEncoding="${encoding}"%>
이 부분을 아래 그림과 같이 변경한다.
이렇게 설정을 하고 작업을 하며, 세션이 필요한 경우에는 session="true" 로 변경하고 작업을 하면 된다.
만약 false로 놓고 cookie나 session 작업을 한다면 cookie와 session은 실행되지 않는다.
'JavaEE' 카테고리의 다른 글
server.xml 의 tomcatThreadPool 과 커넥션 풀의 속성에서 maxActive의 관계 (0) | 2009.08.29 |
---|---|
eclipse에 WAS(Tomcat) 추가하기. (0) | 2009.08.28 |
include 지시어와 include 액션 (0) | 2009.08.27 |
Cookie를 사용한 게시물 조회 올리기 방지 방법. (0) | 2009.08.27 |
Session의 사용법 (0) | 2009.08.26 |
인터페이스와 상속을 사용하여 DAO 처리 하기. (0) | 2009.08.20 |
PreparedStatement 로 사용할 쿼리 쉽게 만드는 방법 (0) | 2009.08.19 |
WAS 셋팅 하기. (0) | 2009.08.15 |
JUnit 사용을 사용한 개발. (0) | 2009.08.13 |
JDBC 드라이버에 관해서. (0) | 2009.08.13 |