필터와 상태유지

김태형·2023년 10월 13일
0

JSP

목록 보기
3/10
post-thumbnail

1. 필터

1-1. 필터란?

  • 클라이언트로부터의 요청이 백엔드로 가기 전에 가로채서 서버로부터의 응답이 클라이언트로 보내지기 전에 조작하기 위해서 사용

2. 서버 상태코드

2-1. HTTP 상태코드

  • HTTP응답 상태 코드의 목록이다.
  • 1xx(정보) : 요청은 받았으며 프로세스를 계속 한다.
  • 2xx(성공) : 요청을 성공적으로 받았으며 인식했고 수용하였다.
  • 3xx(리다이레션) : 요청 완료를 위해 추가 작업 조치가 필요하다.
  • 4xx(클라이언트 오류) : 요청의 문법이 잘못되었거나 요청을 처리할 수 없다
  • 5xx(서버 오류) : 서버가 명백히 유효한 요청에 대해 충족을 실패했다.

3. 상태유지 필요성

  • application
  • session
  • cookie

3-1. application

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

3-2. session

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

3-3. session 상세

  • 내장객체로서 브라우저마다 한 개씩 존재하고, 고유한 sessionID생성 후 정보를 추출한다.

  • 보안성이 좋고 저장 용량의 한계가 거의 없다.

  • 서버에 데이터를 저장하므로 서버에 부하가 걸릴 수 있다.

  • session값 설정

    session.setAttribute("설정한 세션아이디",);
  • session 유지 시간 설정

    session.setMaxInactiveInterval(30*60); // 30분
    session.setMaxInactiveInterval(-1); // 무한대
  • session 저장된 값 가져오기

    session.getAttribute("user_id");
  • session 값 삭제

    session.removeAttribute("user_id");
    session.invalidate(); 	// 세션 전체 제거, 무효화
  • 웹 브라우저가 보관하고 있는 데이터로, 웹 서버에 요청을 보낼 때 쿠키를 헤더에 담아서 전송한다.
  • 클라이언트의 일정 폴더에 정보를 저장하기 때문에 서버의 부하를 줄일 수 있다.
  • 정보가 사용자 컴퓨터에 저장되기 때문에 보안에 위혐을 받을 수 있다.
  • 데이터 저장 용량에 제한이 있다. (과자 부스러기처럼 작은 값)
  • 일반 사용자가 브라우저 내의 기능인 "쿠키차단"을 사용하면 무용지물
  • application
    -> 사용범위 : 전역 범위에서 사용하는 저장 공간
    -> 생명주기 : WAS가 시작해서 종료할 때까지
    -> 저장위치 : WAS서버의 메모리
  • session
    -> 사용범위 : 세션 범위에서 사용하는 저장 공간
    -> 생명주기 : session이 시작해서 종료할때 까지
    -> 저장위치 : WAS서버의 메모리
  • cookie
    -> 사용범위 : web브라우저별 지정한 path범주 공간
    -> 생명주기 : 브라우저에 전달한 시간부터 만료 시간 까지
    -> 저장위치 : web브라우저 메모리 또는 파일

0개의 댓글