728x90
웹 프로그램에서 사용되는 정보는 서블릿의 비즈니스 로직 처리 기능을 이용해 데이터베이스에서 가져옴.
그러나 동시 사용자 수가 많아지면 데이터베이스 연동 속도도 영향을 받게 되므로 정보의 종류에 따라 어떤 정보들은 클라이언트 PC나 서버의 메모리에 저장해두고 사용하면 좀 더 빠르게 프로그램을 실행시킬 수 있음.
세션 트래킹
쇼핑몰을 이용하는 일반 사용자들은 로그인 상태를 각각의 웹 페이지들이 자동적으로 알고 있을 것이라 생각하지만, 실제 HTTP 프로토콜 방식으로 통신하는 웹 페이지들은 서로 어떤 정보도 공유하지 않음.
사용자 입장에서 웹 페이지의 사이의 상태나 정보를 공유하려면 프로그래머가 세션 트래킹(Session Tracking)이라는 웹 페이지 연결 기능을 구현해야 함.
HTTP로 웹 페이지 요청해 보여주는 과정
HTTP 프로토콜은 서버-클라이언트 통신 시 stateless 방식으로 통신을 하기때문에 브라우저에서 새 웹 페이지를 열면 기존의 웹 페이지나 서블릿에 관한 어떤 연결 정보도 새 웹 페이지에서는 알 수 없음.
정리하면 HTTP 프로토콜은 각 웹 페이지의 상태나 정보를 다른 페이지들과 공유하지 않는 stateless 방식으로 통신을 하기 때문에 웹 페이지나 서블릿끼리 상태나 정보를 공유하기 위해서는 웹 페이지 연결 기능, 즉 세션 트래킹을 이용해야 함.
웹 페이지를 연동하는 방법
- <hidden> 태그 : HTML의 <hidden> 태그를 이용해 웹 페이지들 사이의 정보를 공유함
- URL Rewriting : GET 방식으로 URL 뒤에 정보를 붙여 다른 페이지로 전송
- 쿠키 : 클라이언트의 PC의 Cookie 파일에 정보를 저장한 후 웹 페이지들이 공유함
- 세션 : 서버 메모리에 정보를 저장한 후 웹 페이지들이 공유함
728x90
'웹 개발 기초 > 자바 웹을 다루는 기술' 카테고리의 다른 글
쿠키를 이용한 웹 페이지 연동 기능 (0) | 2023.02.22 |
---|---|
<hidden> 태그와 URL Rewriting 이용해 웹 페이지 연동하기 (0) | 2023.02.22 |
load-on-startup 기능 사용하기 (0) | 2023.02.20 |
@WebServlet 애너테이션과 web.xml을 이용한 서블릿 설정 (0) | 2023.02.20 |
ServletConfig 서블릿 확장 API (0) | 2023.02.20 |