1. 정의

    1. 쿠키를 자바스크립트로 접근할 수 없게 만드는 보안 설정이다. 오직 HTTP 요청을 통해서만 쿠키를 서버로 전송할 수 있게 합니다.
  2. 특징

    1. 보안 강화 옵션
      1. 쿠키에 설정할 수 있는 여러 옵션 중 하나
    2. XSS 공격 방어
      1. JavaScript로 쿠키를 훔쳐가는 것을 막습니다.
    3. 서버-브라우저간 통신만
      1. HTTP 헤더로만 쿠키가 전송됩니다.
  3. 기본 사용법

    // 1. 쿠키 생성
    Cookie cookie = new Cookie("sessionId","abc123xyz");
    
    // 2. HttpOnly 설정 (JavaScript 접근 차단)
    cookie.setHttpOnly(true);
    
    // 3. 쿠키를 응답에 추가
    response.addCookie(cookie);
    
    

HttpOnly 가 없을 때 vs 있을 때

// x 위험한 쿠키 (HttpOnly 없음)
Cookie unsafeCookie = new Cookie("token", "mySecretToken");
// JavaScript에서 접근 가능 -> 해커가 훔쳐갈 위험 있음~
response.addCookie(unsafeCookie);

//안전한 쿠키 (HttpOnly 설정)
Cookie safeCookie = new Cookie("token", "mySecretToken");
safeCookie.setHttpOnly(true);//JAVASCRIPT 접근 차단
response.addCookie(safeCookie);