쿠키와 세션
쿠키와 세션 모두 HTTP에 상태 정보를 유지(Stateful)하기 위해 사용됩니다. 즉, 쿠키와 세션을 통해 서버에서는 클라이언트 별로 인증 및 인가를 할 수 있게 됩니다.
1. 쿠키
- 클라이언트에 저장될 목적으로 생선한 작은 정보를 담은 파일
- 쿠키의 구성요소
- Name(이름) : 쿠키를 구별하는 데 사용되는 키(중복될 수 없음)
- Value(값) : 쿠키의 값
- Domain(도메인) : 쿠키가 저장된 도메인
- Path(경로) : 쿠키가 사용되는 경로
- Expires(만료기한) : 쿠키의 만료기한(만료기한이 지나면 삭제됩니다.)
2. 세션
- 서버에서 일정시간 동안 클라이언트 상태를 유지하기 위해 사용
- 서버에서 클라이언트 별로 유일무이한 '세션 ID' 를 부여한 후 클라이언트 별 필요한 정보를 서버에 저장
- 서버에서 생성한 '세션 ID' 는 클라이언트의 쿠키값('세션 쿠키' 라고 부름)으로 저장되어 클라이언트 식별에 사용
- 위 크림에서와 같이 서버는 세션 ID를 사용하여 세션을 유지
- 클라이언트가 서버에 1번 요청
- 서버가 세션ID를 생성하고, 쿠키에 담아 응답 헤더에 전달
(세션 ID 형태 : "SESSIONID = 12A345")
- 클라이언트가 쿠키에 세션ID를 저장('세션쿠키')
- 클라이언트가 서버에 2번 요청
- 서버가 세션ID를 확인하고, 1번 요청과 같은 클라이언트임을 인지
3. 쿠키와 세션 비교