- forward 방식
- redirect 방식
- 전달한 값은 url 뒤에 붙지 않는다. 일회성이라 리프레시 할 경우 데이터가 소멸한다.
http://localhost:8080/;jsessionid=F59911518B921DF62D09F0DF8F83F872
- 로그인을 처음 시도하면 URL이 위와 같이 jsessionid를 포함하고 있는 것을 확인할 수 있다.
- 이것은 웹 브라우저가 쿠키를 지원하지 않을 때 쿠키 대신 URL을 통해서 세션을 유지하는 방법이다.
- 타임리프 같은 템플릿 엔진을 통해서 링크를 걸어두면 jsessionid를 자동으로 URL에 포함시켜준다.
- URL 전달 방식을 끄고 항상 내부 로직을 통해서 세션을 유지하고 싶다면 옵션 추가를 하면 된다.
jsessionid 제거
server.servlet.session.tracking-modes=cookie
- 영속 쿠키 : 만료 날짜를 입력하면 해당 날짜까지 유지
- 세션 쿠키 : 만료 날짜를 생략하면 브라우저 종료 시까지만 유지
- 서블릿 HTTP 세션
session create 옵션
1) request.getSession(true); : request.getSession();과 동일 : 세션이 있으면 기존 세션 반환, 세션이 없으면 새로운 세션 생성 후 반환 2) request.getSession(false); : 세션이 있으면 기존 세션 반환, 세션이 없으면 새로운 세션 생성하지 않고 null을 반환session timeout 설정
- 기본 시간 30분
- server.servlet.session.timeout = 60
- 60 : 60초를 의미
- 1800 : 30분을 의미 (기본값)