- 쿠키와 세션
쿠키(Cookie)
- 웹 페이지들 사이의 공유 정보를 클라이언트 PC에 저장해 놓고 사용하는 방법으로 활용하는 것
- 클라이언트에 저장된 정보이기 때문에 보안에 취약
- 클라이언트 브라우저에서 사용 유무를 설정 가능
- 도메인당, 경로당 쿠키가 만들어진다
(현재 프로젝트 상에선 /localhost:8080/web01/ 하위에 있으면 따로 요청하지 않아도 쿠키 정보가 전달됨)
- ex. 로그인 할 때 '아이디 저장하기' 에 활용
Cookie cookie = new Cookie("name", "value"); // (쿠키명, 쿠키값)
cookie.setMaxAge(60 * 60 * 24); //쿠키 유효시간 설정(초단위)
resp.addCookie(cookie); //쿠키 담기
세션(Session)
- 웹 페이지들 사이의 공유 정보를 서버의 메모리에 저장해 놓고 사용하는 방법을 활용하는 것
- 서버에 정보가 저장되기 때문에 쿠키보다는 보안에 유리
- 서버에 부하를 준다
- 세션ID(고유값)는 브라우저에 저장된다(브라우저에서 서버에 세션ID를 보내면 그에 해당하는 메모리를 찾아 전달)
- 개발자모드(F12) - application - cookies 에서 도메인 주소와 세션ID 확인 가능
- ex. 로그인 정보, 장바구니 에 활용
HttpSession session = req.getSession(); //세션이 없는 경우에도 자동으로 새로 생성 후 반환해줌. 단 false를 설정한 경우엔 세션 없으면 null 반환
session.getAttribute("세션명");
session.setAttribute("세션명", 객체);
session.removeAttribute("세션명"); //세션에 저장된 데이터 삭제
session.invalidate(); //세션 자체를 삭제
'국비' 카테고리의 다른 글
01.20 국비학원 77일차 (필터, 페이징) (1) | 2023.01.24 |
---|---|
01.19 국비학원 76일차 (리스너) (0) | 2023.01.21 |
01.17 국비학원 74일차 (EL/JSTL, 회원가입 페이지) (0) | 2023.01.18 |
01.16 국비학원 73일차 (방명록&즐겨찾기 링크 완성, EL/JSTL) (0) | 2023.01.17 |
01.13 국비학원 72일차 (방명록 만들기-목록 조회 추가, 즐겨찾기 링크 모음 만들기(수정까지)) (0) | 2023.01.15 |