Cookie는 클라이언트(브라우저)에 저장되는 작은 데이터 조각입니다.
“서버가 클라이언트에게 맡겨두는 상태 정보”
| 구분 | Cookie | Session |
|---|---|---|
| 저장 위치 | 클라이언트 | 서버 |
| 보안 | 낮음 | 상대적으로 높음 |
| 서버 부담 | 없음 | 있음 |
| 만료 관리 | 브라우저 | 서버 |
| 확장성 | 높음 | 낮음 |
👉 Session은 내부적으로 Cookie(JSESSIONID)를 사용
1. Client → Server 요청
2. Server → Set-Cookie 헤더로 Cookie 전달
3. Browser 저장
4. 이후 요청마다 Cookie 자동 전송
Cookie cookie = new Cookie("userId", "1");
cookie.setPath("/");
cookie.setMaxAge(3600);
response.addCookie(cookie);
@GetMapping("/test")
public void test(@CookieValue("userId") String userId) {
}