랄라
Cookie와 Session 본문
쿠키 (Cookie)
웹 서버가 클라이언트(사용자의 웹 브라우저)에 저장하는 작은 데이터 파일
클라이언트의 정보를 저장하거나, 세션 상태를 유지하는 데 사용
*쿠키의 특징
더보기
- 정보가 클라이언트 pc에 저장되기때문에 보안에 취약하다
- 저장정보, 용량이 제한되어있다.(4kb)
- 클라이언트 브라우저에서 사용유무를 설정할 수 있다
- 도메인당 쿠키가 만들어진다
쿠키의 종류
*보통 쿠키 = persistance쿠키
| Persistance 쿠키 | Session 쿠키 | |
| 생성위치 | 파일로 생성 | 브라우저 메모리에 생성 |
| 종료시기 | 쿠키삭제, 설정한 만료시간이후 | 브라우저를 종료하면 쿠키도 종료됨 |
| 전송여부 | 최초 접속 시 서버로 전송 | 최초 접속시 서버로 전송안됨 |
| 용도 | 로그인 유무,팝업창 제한 | 사이트 접속시 session정보유지 |
| 보안 | 취약 (클라이언트에서 쿠키 정보를 쉽게 변경, 삭제 및 가로채기 당할 수 있음) | 비교적 안전 (서버에 저장되기 때문에 상대적으로 안전) |
import javax.servlet.http.Cookie;
Cookie ck = new Cookie(쿠키이름, 쿠키내용); //쿠키내용은 특수문자로 보여진다.
최초 사이트 접속 시
- 클라이언트가 브라우저로 사이트(서버)에 접속
- 서버는 정보를 저장한 쿠키를 생성
- 생성된 쿠키를 브라우저로 전송
- 브라우저는 서버로부터 받은 쿠키정보를 쿠키파일에 저장
재접속시
- 브라우저가 다시 접속해 서버가 브라우저에게 쿠키전송을 요청하면
- 브라우저는 서버에게 쿠키정보를 전달합니다
- 서버는 쿠키정보를 이용해 작업을 합니다.
Session(세션)
서버에서 클라이언트의 상태를 유지하기위해 사용.
세션 ID를 발급하고, 이를 통해 사용자를 식별하여 상태를 관리.
- 브라우저로 사이트에 접속
- 서버는 접속한 브라우저에 대한 세션객체를 생성
- 서버는 생성된 세션 id를 클라이언트 브라우저로 응답
- 브라우저가 서버로 받은 세션id를 브라우저가 사용하는 메모리의 세션쿠키를 저장하는데에사용
재접속시
- 브라우저가 재접속하면 브라우저는 세션쿠키에 저장된 세션id를 서버에 전달
- 서버는 전송된 세션 id를 이용해 해당 세션에 접근하여 작업을 수행
'내일배움캠프 > 공부정리' 카테고리의 다른 글
| Spring Security와 주요기능 (0) | 2025.02.05 |
|---|---|
| JWT(Json Web Token) (0) | 2025.02.04 |
| SpringBoot JPA, Spring Data JPA (0) | 2025.02.04 |
| Entity 와 Persistence Context (영속성 컨텍스트) (1) | 2025.02.04 |
| JDBC (+JdbcTemplate) (0) | 2025.02.04 |