세션 트래킹(Session Tracking)은 가상의 연결에 기반한 클라이언트의 상태를 지속적으로 모니터링하는 것을 의미합니다.

 

 

 


 

 

세션 트래킹의 목적

HTTP(Hyper Text Trasfer Protocol)은 하나의 요청과 하나의 응답으로 이루어진 전송 프로토콜입니다.

즉 HTTP는 상태 정보를 유지할 수 없는 프로토콜이므로, 이를 보완하기 위해 세션 트래킹이라는 추상적인 개념을 도입했습니다.

 

이러한 세션 트래킹의 핵심은 인증 관리입니다.

세션 트래킹은 클라이언트의 인증 상태와 인가 상태의 변화를 지속적으로 모니터링하며 접근 제어를 하는 것을 목적으로 합니다.

 

 

 

 

세션 식별자

동시에 요청을 보내는 수 많은 클라이언트를 고유하게 식별해야만 각 클라이언트의 상태를 트래킹할 수 있습니다.그래서 세션 ID를 통해 각 클라이언트를 식별하여 트래킹을 수행합니다.

 

간단한 서블릿 코드를 작성하고 cmd를 통해 세션 ID를 확인합니다.
@Log4j2
@NoArgsConstructor

@WebServlet("/TTT")
public class TTTServlet extends HttpServlet {
    private static final long serialVersionUID = 1L;

	
    @Override
    protected void service(HttpServletRequest req, HttpServletResponse res) 
        throws ServletException, IOException {
        log.trace("service(req, res) invoked.");
		
		
        HttpSession session = req.getSession();
		
    } //service

} // end class

 

 

즉, 최초로 요청을 전송한 클라이언트에게 서버가 쿠키를 통해 세션 ID를 부여하고 한번 세션 ID를 부여받은 클라이언트는 다음 요청 전송 시, 요청 헤더에 세션 ID를 함께 할당하여 전송합니다.그럼 서버는 해당 요청과 세션 ID를 함께 수신함으로서, 세션 트래킹이 수행되며 이러한 세션 ID는 서블릿의 공유 데이터 영역인 Session Scope에 할당됩니다.

 

[서블릿] - 쿠키

 

 

 

'웹 표준 > Servlet' 카테고리의 다른 글

파일 업로드, 다운로드  (0) 2023.09.15
Cookie  (0) 2023.09.15
FrontController, Command Patterns  (0) 2023.09.13
Request  (0) 2023.09.13
DTO, DAO, VO  (0) 2023.09.12

+ Recent posts