사용자 정보를 유지하기 위한 쿠키와 세션
HTTP 프로토콜을 사용하여 서버와 클라이언트가 통신할 경우 서버와 클라이언트는 비연결 방식으로 통해 데이터를 전송합니다. 즉, 클라이언트가 서버에 데이터를 요청하면 서버는 처리 결과를 클라이언트에게 응답한 후 연결을 해제하는 방식으로 데이터를 전송합니다.
비연결 방식은 패킷의 교환이라는 개념으로 인터넷 상에서 네트워크 혼잡에 의한 피해를 최대한 줄이도록 구성된 방식입니다. 하지만 서버는 클라이언트와 연결을 유지할 수 없어서 같은 클라이언트의 요청에 대해 일괄되게 처리하기 어렵습니다. 이런 문제점들을 해결하고자 쿠키와 세션을 사용하여 클라이언트를 구별하며 클라이언트의 요청을 일괄되게 처리합니다.
1. 쿠키(cookie)
쿠키는 일종의 텍스트 파일로 서버에서 클라이언트에게 쿠키라는 클라이언트 정보를 클라이언트의 자원에 저장시켜 놓습니다. 그 후 클라이언트가 서버에 요청할 시 쿠키 정보를 HTTP 헤더에 포함시켜 서버로 전송하게 합니다. 이 정보를 바탕으로 서버는 클라이언트를 구별하게 됩니다.
2. 세션(session)
세션은 사용자와 서버과 지속적인 대화가 일어나고 있는 것을 의미하며, 쿠키와는 반대로 클라이언트의 정보를 서버에 저장하고 관리하는 방법입니다. 클라이언트는 서버에서 준 세션 ID를 가지고 서버에 접속하여 데이터를 요청하고 서버는 세션ID를 통해 클라이언트의 정보를 분석하는 방식입니다. 세션의 생성은 클라이언트가 브라우저를 통해서 처음 서버에 접속한 시점입니다. 보통 서버는 사용자의 마지막 요구가 있는 다음 지정된 시간이 지나면 세션을 종료합니다. 보통 세션의 유지 시간은 30분입니다.
※ 쿠키 사용시 주의점
'자바(Java) > JAVA 2EE' 카테고리의 다른 글
세션(Session) 사용 방법 (0) | 2009.10.09 |
---|---|
JSP에서 쿠키(cookie) 사용 방법 (0) | 2009.10.09 |
웹 어플리케이션의 시스템 경로및 루트 경로 지정하는 방법 (0) | 2009.09.24 |
엑셀 파일 업로드 받아 서블릿으로 엑셀 파일 처리 (0) | 2009.09.10 |
코어(core) 태그 - URL, 페이지 제어 (0) | 2009.09.09 |