본문 바로가기

세션(Session)과 쿠키(Cookie) 혼합해서 쓰기. 세션과 쿠키는 클라이언트와 서버간의 연결을 유지하기 위해 사용된다는 공통점이 있습니다만, 위에서 살펴본 것과 같이 저장되는 시점, 만료시점, 리소스 등의 관점에서 보면 뚜렷이 구별되는 몇 가지 차이점을 보이고 있습니다. 그 중 제일 큰 차이점은 저장되는 위치 그리고 그에 따른 정보의 보안문제라고 할 수 있겠죠. 이런 차이에 따라 세션과 쿠키는 웹 프로그래밍에 있어서 나름대로의 독특한 영역을 구축하고 있습니다. 또한 나름대로의 장점들을 살려 혼합해 사용되기도 합니다. 다음은 전자상거래의 간단한 장바구니를 세션과 쿠키를 혼합하여 만든 예입니다. 과일판매 사이트가 있고 그 과일가게에서 사용자가 과일을 골라서 장바구니에 넣는 것입니다. 장바구니의 정보가 하루동안 유지되도록 쿠키로 설정해서 저장해주고, 로그인 할.. 더보기
URL에 자동으로 세션(Session) ID 달고 다니기 세션 ID는 쿠키에 임시로 저장되거나, URL 뒤에 ID를 붙여서 다닌다고 세션의 처음 부분에서 말씀드렸습니다. 보통 우리가 사용하는 방식은 첫번째 방식으로 세션 ID를 쿠키에 임시저장해서 세션 ID를 서버에 전송합니다. 하지만, 사용자가 쿠키를 사용하지 않는다고 브라우저를 설정할 때는 그 성격이 달라집니다. Internet Explorer에서의 쿠키설정의 예를 보면 다음과 같습니다. 그림 6-9 Internet Explorer의 쿠키 설정 보통의 경우는 위와같이 세션 단위의 쿠키와 컴퓨터 저장 쿠키를 허용하고 브라우저를 사용합니다. 그러나 보안등의 이유로 컴퓨터 저장 쿠키를 허용하지 않는 사용자가 있습니다. 여기까지는 쿠키를 이용한 세션체크에는 문제가 되지 않지만, 속된 말로 미친척하고 첫번째의 세션단.. 더보기
세션(session) 종료하기 세션을 종료하는 가장 간단한 방법은 웹 브라우저를 닫는 것입니다. 또한 사용자가 아무 일도 하지 않고 지정한 시간이 만료되면 세션은 자동으로 종료합니다. 그리고 세션을 현재 페이지에서 바로 종료시키는것도 HttpSession 인터페이스의 invalidate 메서드를 호출함으로서 간단하게 이루어집니다. n public void invalidate(); 그럼 다음 예제를 통해서 앞에서 계속 이어온, 세션을 생성하고 값을 설정한 예제의 세션을 종료해보겠습니다. sessionDelete.jsp 세션을 종료하는 예제 세션이 삭제 되었습니다. 로그인 페이지로 위의 간단한 코드에서 보듯이 세션이 존재한다면 invalidate 메서드를 호출해 세션을 종료합니다. n if(session != null){ n sessio.. 더보기