[JSP] 상태 유지 필요성 (application, session, cookie)

형이·2023년 8월 18일
0

JSP

목록 보기
12/32
post-thumbnail
post-custom-banner

📝 JSP

🖥️ 1. 상태 유지 필요성

application, session, cookie

1-1. application

  • 하나의 application이 생성되고 소멸될 때까지 계속 유지
  • 웹 애플리케이션 context의 정보를 담고 있는 객체
  • 각 어플리케이션마다 오직 하나의 객체만을 생성

1-2. session

  • 하나의 웹 브라우저의 정보를 유지하기 위한 세션 정보를 저장
  • 브라우저 종료 시 종료
  • 클라이언트 로그인 정보를 저장하는데 사용
  • 범위 : application > session

1-3. session 상세

  • 내장 객체로서 브라우저마다 한 개씩 존재하고, 고유한 sessionID 생성 후 정보를 추출한다.
  • 보안성이 좋고 저장 용량의 한계가 거의 없다.
  • 서버에 데이터를 저장하므로 서버에 부하가 걸릴 수 있다.
  • session값 설정
    session.setAttribute("설정한 세션아이디", 값);
  • session 유지 시간 설정
    session.setMaxInactiveInterval(30*6);    // 30분
    session.setMaxInactiveInterval(-1);     // 무한대
  • session 저장된 값 가져오기
    session.getAttribute("user_id");
  • session 값 삭제
    session.removeAttribute("user_id");
    sesstion.invalidate();            // 세션 전체 제거, 무효화
  • 웹 브라우저가 보관하고 있는 데이터로, 웹 서버에 요청을 보낼 때 쿠키를 헤더에 담아서 전송한다.
  • 클라이언트의 일정 폴더에 정보를 저장하기 때문에 서버의 부하를 줄일 수 있다.
  • 정보가 사용자 컴퓨터에 저장되기 때문에 보안에 위협을 받을 수 있다.
  • 데이터 저장 용량에 제한이 있다. (과자 부스러기처럼 작은 값)
  • 일반 사용자가 브라우저 내의 기능인 "쿠키 차단"을 사용하면 무용지물

  • application
    ✔️ 사용범위 : 전역 범위에서 사용하는 저장 공간
    ✔️ 생명주기 : WAS가 시작해서 종료할 때까지
    ✔️ 저장위치 : WAS 서버의 메모리
  • session
    ✔️ 사용범위 : 세션 범위에서 사용하는 저장 공간
    ✔️ 생명주기 : session이 시작해서 종료할 때까지
    ✔️ 저장위치 : WAS 서버의 메모리
  • cookie
    ✔️ 사용범위 : web 브라우저별 지정한 path 범주 공간
    ✔️ 생명주기 : 브라우저에 전달한 시간부터 만료 시간까지
    ✔️ 저장위치 : web 브라우저 메모리 또는 파일

🔍 같은 브라우저일 경우, 같은 세션으로 인식

🔍 다른 브라우저일 경우, 다른 세션으로 인식

post-custom-banner

0개의 댓글