쿠키 및 세션

시바코코개발자·2023년 8월 28일
0

쿠키(Cookie)

웹 브라우저가 보관하고 있는 데이터로, 웹서버에 요청을 보낼 때 헤더에 담아서 전송한다. 웹 브라우저는 쿠키가 삭제되기 전까지 웹서버에 쿠키를 전송한다.

아이디 저장할때 사용, 세션은 로그인 상태 유지할 때 사용

장단점

  • 클라이언트의 특정 폴더에 정보를 저장하기 때문에 서버의 부하를 줄일 수 있다.
  • 정보가 사용자 컴퓨터(로컬)에 저장되기 때문에 보안에 위협을 받을 수 있다.
  • 데이터 저장 용량에 한계가 있다.
  • 일반 사용자가 브라우저 내의 기능인 "쿠키 차단"을 사용했을 경우 쿠키는 무용지물이 된다.

쿠키 동작 방식

1) 쿠키 생성:
웹 서버에서 쿠키를 생성하고,쿠키에 응답 데이터를 담아서 웹 브라우저에 전송한다.(웹서버가 쿠키를 만들어주고, 생성한 쿠키를 웹브라우저에 준다.)=> 생성은 서버가 관리는 개개인이 한다.
2) 쿠키 저장:
웹 브라우저는 응답 데이터를 담고 있는 쿠키를 메모리나 파일로 저장한다.
3) 쿠키 전송:
웹 브라우저는 쿠키 요청이 있을 때 마다 웹 서버에 전송한다. 웹 서버는 쿠키를 사용해서 필요한 작업을 수행할 수 있다.

쿠키 생성 및 사용 방식

1) 쿠키 생성 후 response 객체 담아준다.

  Cookie cookie = new Cookie("쿠키 이름","쿠키 값");
  response.addCookie(cookie); //웹서버에 응답을 해줘야하니깐 

2) 쿠키 유무를 확인하고 쿠키의 값을 얻어온다.

String cookieCheck = request.getHeader("Cookie");//쿠키 유무 확인
if(cookieCheck != null){
	Cookie[] cookies = request.getCookies(); //쿠키 모두 가져옴.
    for(Cookie cookie : cookies){
    	cookie.getName();
        cookie.getValue();
    }
}

3) 쿠키 삭제한다.

String cookieCheck = request.getHeader("Cookie");
if(cookieCheck != null){
	Cookie[] cookies = request.getCookies();
     for(Cookie cookie : cookies){
    	cookie.setMaxAge(0); // 초단위,쿠키가 유통기한이 있어서 그 순간 날아감.
        cookie.addCookie(cookie);
    }
}

0개의 댓글