쿠키(Cookie)는 클라이언트 컴퓨터에 저장되는 작은 텍스트 파일입니다. 웹 서버가 사용자의 상태를 기억하거나 방문 정보를 추적하기 위해 활용하는 대표적인 수단으로, 로그인 유지, 장바구니 관리, 사용자 설정 저장 등 다양한 용도로 사용됩니다.
JSP는 내부적으로 서블릿(Servlet) 기술을 기반으로 하기 때문에, 별도의 복잡한 처리 없이도 HTTP 쿠키를 자연스럽게 지원합니다. 즉, JSP 페이지에서 쿠키를 생성하고 읽어오는 작업은 매우 직관적으로 이루어집니다.
쿠키를 이용한 사용자 식별의 3단계 과정
웹 애플리케이션에서 재방문 사용자를 식별하는 과정은 크게 세 단계로 나눌 수 있습니다.
1단계 – 쿠키 발급: 서버 스크립트(JSP)가 브라우저에 쿠키를 전송합니다. 여기에는 이름, 나이, 회원 번호 같은 식별 정보가 담길 수 있습니다.
2단계 – 브라우저 저장: 브라우저는 받은 쿠키를 사용자의 로컬 컴퓨터에 저장해 두었다가, 이후 요청 시 활용합니다.
3단계 – 쿠키 반환 및 식별: 사용자가 다시 웹 서버에 요청을 보내면, 브라우저는 저장된 쿠키 정보를 함께 전송합니다. 서버는 이 정보를 바탕으로 해당 사용자가 누구인지 식별하거나, 개인화된 서비스를 제공하는 등 다양한 목적으로 활용합니다.
JSP에서 쿠키를 다루는 기본 방식
JSP에서는 response.addCookie() 메서드로 쿠키를 생성·전송하고, request.getCookies() 메서드로 클라이언트가 보낸 쿠키를 읽어올 수 있습니다. 또한 setMaxAge()를 통해 쿠키의 유효 기간을 지정할 수 있어, 세션 종료 후에도 정보를 유지할지 여부를 개발자가 결정할 수 있습니다.
이처럼 쿠키는 HTTP의 무상태(stateless) 특성을 보완하여, 서버가 사용자를 기억할 수 있게 해주는 핵심 기술입니다. 다만 민감한 개인정보를 쿠키에 그대로 저장하는 것은 보안상 위험할 수 있으므로, 필요 최소한의 정보만 저장하고 유효 기간을 적절히 관리하는 것이 좋습니다.