-
쿠키(Cookie)
사용자가 사이트를 방문했을 때, 사용자의 컴퓨터에 저장되는 정보
쿠키의 구성요소
- 이름 - 각 쿠키의 값을 식별하기 위한 키
- 값 - 특정 이름으로 쿠키에 저장된 값
- 유효시간 - 쿠키의 유지 시간
- 도메인 - 쿠키를 전송할 도메인
- 경로 - 쿠키를 전송할 요청경로
쿠키의 특징
- 쿠키는 HTTP 헤더 정보에 포함되어 전달된다. HTTP는 비연결 지향으로 상태 정보를 저장 X
- 쿠키는 클라이언트의 웹 브라우저가 지정하는 메모리나 하드디스크에 저장된다. 즉 서버의 자원을 사용하지 않는다.
- 클라이언트도 모르게 접속되는 사이트에 의해 설정될 수 있기 때문에 도메인당 20개, 쿠키당 4kb 제한을 두고 있다.
- 쿠키는 저장 시 expires 속성을 정의하여 무효화 시키면 삭제될 날짜를 저장할 수 있다.
- 사용예시) 팝업 공지의 오늘은 띄우지 않기, 아이디 저장 등.
세션(Session)
서버와 클라이언트의 유효한 연결을 식별하는 정보
- 서버는 클라이언트가 요청을 보내면 요청을 식별할 수 있는 세션 ID를 부여한다.
- 클라이언트는 재접속할 때 해당 쿠키를 이용해 세션 ID값을 서버에 전달한다.
- 세션은 서버에 저장되고 서버 메모리에 로딩 되기 때문에 세션이 생길 때 마다 서버의 리소스를 차지한다.
- 클라이언트가 로그아웃 하거나, 설정 시간 동안 반응이 없으면 세션이 무효화 되기 때문에 정확한 시점을 알 수 없다.
- 클라이언트가 접속할 시 서버에 의해 생성되므로 개수나 용량에 제한이 없다.
- 세션의 경우 서버의 메모리에 저장된다.
Cookie Session 저장 위치 Client Server 저장 형식 Text Object 만료 시점 쿠키 저장시 설정
(설정 없을 시 브라우저 종료 시)정확한 시점 모름 리소스 클라이언트의 리소스 서버의 리소스 용량 제한 도메인당 20개, 쿠키당 4kb 제한 없음 '개발' 카테고리의 다른 글
HTTP (0) 2021.01.05 URI와 웹 브라우저 요청 흐름 (0) 2021.01.05 자바의 메모리관리, 가비지 컬렉션 (0) 2020.12.13 스프링과 스프링 부트의 차이 (0) 2020.12.08 MSA? (0) 2020.12.04