JSP -11

김정현·2024년 6월 18일
0

JSP

목록 보기
12/13

쿠키

: 개인 서비스 제공 가능 기술
-개개인을 구분할 수 있는 데이터를 웹 브라우저에 저장
-쿠키 데이터가 필요한 대상은 서비스를 제공하는 서버가 필요
-데이터는 브라우저,필요한 대상 서버
-매 요청시 마다 요청 헤더에 쿠키 데이터를 서버쪽으로 전송

쿠키 조회는 ?
HttpServletRequest
-cookie[] getCookies()

쿠키 등록은?
HttpServletResponse
void addCookie(Cookie cookie)
-응답 헤더 : Set-Cookie: 이름=값; 이름=값 ...추가
-브라우저가 응답 헤더를 바탕으로 쿠키 값을 등록

    <%@ page contentType="text/html; charset=UTF-8" %>
    <%
        Cookie cookie1 = new Cookie("key1", "value1");
        response.addCookie(cookie1);
    %>

쿠키의 동작과정

1) 쿠키 생성단계

-서버 -> 응답 헤더(Set-Cookie: 키=값; 키=값; ...)

2) 쿠키 저장단계

-응답 헤더(Set-Cookie: 키=값; ...) -> 브라우저가 도메인별로 저장

3) 쿠키 전송단계

매 요청시마다 요청 헤더 Cookie를 통해서 서버로 전송

setMaxAge(...): 쿠키 유효 시간을 설정

  <%@ page contentType="text/html; charset=UTF-8" %>
    <%
        Cookie cookie = new Cookie("key2", "value2");
        cookie.setMaxAge(60*60*24*7);
        response.addCookie(cookie);
    %>

setHttpOnly(..) :

- false

-서버쪽 조회 가능(HttpServletRequest - Cookie[] getCookies())
-브라우저 자바스크립트 document 객체를 통해서 조회 가능
(document.cookie)

- true

-서버쪽만 조회 가능(HttpServletRequest - Cookie[] getCookies())
-브라우저 자바스크립트로는 조회 불가

  1. 쿠키 객체 얻기
  2. 쿠키 객체의 정보 얻기
  3. 쿠키 삭제

세션

-쿠키는 매 요청 시마다 요청 헤더를 통해서 개인 데이터가 전송: 보안에 취약
-매번 네트워크를 통해서 전송 되므로, 네트워크에 부담

-개인 데이터를 서버에 저장하는 기술: 세션
-개인 데이터를 서버에 저장하므로 브라우저가 보내줄 필요 X

  1. session 내장객체 메서드 종류
    HttpSession

  2. 세션 생성

void setAttribute(String name, Object value);
  1. 세션 정보
    Object getAttribute(String name);

  2. 세션 삭제
    void removeAttribute(String name);

invalidate() : 세션 데이터 비우기 / 주로 로그아웃 시에 사용

  1. 세션 유효 시간 설정
  • setMaxInactiveInterval

0개의 댓글