ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 쿠키 (cookie)
    JSP 2023. 3. 22. 12:04

    쿠키 란?

     : 웹 브라우저가 보관하는 데이터이다. 웹 브라우저는 웹 서버에 요청을 보낼 때 쿠키를 함께 전송하며, 웹 서버는 웹 브라우저가 전송한 쿠키를 사용해서 필요한 데이터를 읽을 수 있다. 쿠키는 웹 서버와 웹 브라우저 양쪽에서 생성할 수 있다.

     

    ** 쿠키는 내 컴퓨터에 저장되기 때문에 웹 브라우저가 닫힌다고 해도 사라지지 않는다.

    ** 쿠키는 보안이 좋은편은 아니다

     

    쿠키 동작 방식

     1. 쿠키 생성 : 웹 브라우저에서 웹 서버에 쿠키 생성을 요청한다 -> 웹 서버가 생성한 쿠키를 데이터의 헤더에 저장해서 웹 브라우저에 전송한다.

     2. 쿠키 저장 : 웹 브라우저는 쿠키를 저장소에 보관한다. 쿠키의 종류에 따라 메모리나 파일에 저장한다

     3. 쿠키 전송 : 웹 브라우저는 저장한 쿠키를 요청이 있을 때마다 웹 서버에 전송한다. 웹 서버는 쿠키를 사용해서 작업을 진행한다.

     

    쿠키의 구성

     - 이름 : 쿠키의 이름

     - 값 : 쿠키의 이름과 관련된 값

     - 유효시간 : 쿠키 유지 시간

     - 도메인 : 쿠키를 전송할 도메인

     - 경로 : 쿠키를 전송할 요청 경로

     

    쿠키 생성

    <%
    	Cookie cookie = new Cookie("cookieName", "cookieValue");
        response.addCookie(cookie);
    %>
    
    -> 쿠키 정보를 담고있는 Cookie 객체를 생성하고
    response 기본 객체의 addCookie() 메서드를 사용해서 웹 브라우저에 쿠키 정보를 전송한다.

     

     


    쿠키를 사용한 로그인 상태 유지

     : 로그인 상태를 확인할 때 가장 많이 사용하는 방법이 쿠키를 이용하는 것이다.

     

    쿠키를 이용해서 로그인 상태를 유지하는 방법{

    1. 로그인에 성공하면 특정 이름을 갖는 쿠키를 생성한다.

    2. 해당 쿠키가 존재하면 로그인한 상태라고 판단한다.

    3. 로그아웃하면 해당 쿠키를 삭제한다.

    }

     

    로그인 처리

     - 아이디와 비빌번호가 같다면 쿠키를 생성하는 코드다. 로그인의 결과로 쿠키를 생성해서 로그인이 정상적으로 처리 되었음을 알 수 있다.

     - 다만 쿠키는 개발자도구로 Value를 확인할 수 있기 때문에 보안에 취약하다. 지금 보이는 Value는 변환된 것이지만

    원래의 값으로 변환시키기도 쉽다.

     

    로그아웃 처리

     : Cookies.createCookie("AUTH","","/",0) 으로 삭제하고 싶은 쿠키의 유효시간을 0 으로 만든다.

    ** 쿠키는 쿠키를 제거하기 위한 별도의 메소드가 없다.

     

    'JSP' 카테고리의 다른 글

    c: 코어태그 와 fmt: 국제화 태그  (0) 2023.03.23
    세션 (session)  (0) 2023.03.22
    자바빈 , <jsp:useBean> 액션 태그  (0) 2023.03.22
    <jsp:forward> 액션 태그 사용법  (0) 2023.03.21
    include 디렉티브  (0) 2023.03.21
Designed by Tistory.