정보 공유
📌 www은 비연결형 구조의 HTTP 사용하기 때문에, 페이지 요청과 응답이 완료되면 연결이 유지되지 않음.
따라서, 클라이언트가 다른 페이지를 요청할 때 부가적인 정보가 없으면, 서버는 클라이언트의 현재 상태 알 수 없음.
📌 위의 문제 해결 방법
① URL rewriting
② 쿠키
③ 세션
URL rewriting
📌 URL rewriting
: HTTP의 Query String을 이용하는 방식.
URL에 파라미터 추가해 서버로 요청하는 형식.
📌 단점
① 정보 유지를 위해 파라미터를 매 페이지마다 확인하고, 계속 추가해야 함.
② 복잡한 정보 유지 어려움.
쿠키
📌 쿠키
: 클라이언트에 저장되는 작은 정보.
서버 요청에 의해 브라우저가 저장하며, 서버가 요청할 때 제공하는 방식.
📌 특징
① 파일로 클라이언트의 컴퓨터에 저장되는 방식. → 보안상 문제 있을 수 있음.
② 광고 혹은 기타 목적으로 사용자의 이용 행태 추적에 이용될 수 있으며, 이 경우 사용자 정보 활용 동의 필요.
③ 재방문 등의 확인 용도로 많이 사용됨.
④ 'name=value" 형식이며, 유효 기간, 요청 경로 등 부가 속성 포함함.
⑤ 주로 자바스크립트 통해 처리되지만, HttpOnly 설정으로 서버에서만 사용하도록 설정 가능.
📌 쿠키 동작 과정
① 서버에서 쿠키 생성.
② 쿠키를 응답 헤더에 넣어, 클라이언트로 전송.
③ 웹 브라우저는 쿠키를 하드 디스크(유효 기간 설정) 또는 브라우저 메모리(유효 기간 미설정)에 저장.
④ 쿠키에 지정된 경로에 요청 시 받은 쿠키를 서버에 전송.
세션
📌 세션
: 클라이언트가 웹 애플리케이션 서버에 접속할 때 서버 쪽에 생성되는 공간.
내부적으로는 세션 아이디를 통해 참조됨.
브라우저는 서버에 접속할 때 발급받은 세션 아이디를 기억하고, 서버는 해당 세션 아이디로 할당된 영역에 접근하는 형식.
📌 특징
① 세션 유효 시간이나 브라우저 종료 전까지 유지되므로, 서로 다른 페이지에서도 정보 공유 가능.
② 로그인 유지, 장바구니, 컨트롤러 구현 등 다양하게 사용됨.
③ 사용자마다 생성되는 공간으로, 동시에 많은 사용자가 세션을 통해 대량의 데이터를 관리한다면 충분한 메모리를 비롯한 세션 관리 대책 필요.
'서블릿' 카테고리의 다른 글
[서블릿] 서블릿 프로그래밍 : HelloWorld (0) | 2022.11.15 |
---|---|
[서블릿] 속성 관리 - Scope Object (0) | 2022.11.15 |
[서블릿] 페이지 이동 (0) | 2022.11.15 |
[서블릿] 서블릿 생명 주기 (0) | 2022.11.15 |
[서블릿] 서블릿 정보 등록 방법 (0) | 2022.11.15 |
댓글