Client(클라이언트)에 저장되는 데이터
1 ) 각 브라우저별로 저장
2 ) 각 사이트(host)별로 저장
3 ) DB 형태의 key-value로 저장(문자열만 가능)
클라이언트에서 서버로 통신할 때,
클라이언트와 함께 보내진 쿠키가 서버에 존재하는 경우 첫 방문, 아닐 경우 재방문으로 취급한다.
쿠키에는 시간제한을 설정할 수 있다.
시간제한을 가진 쿠키는 브라우저가 종료되도 데이터가 유지된다.
쿠키는 클라이언트에 저장되기 때문에 보완에 취약하다.
남이 읽지 못하게 만드는 cookie도 있는데 이를 session cookie라 부른다.
Server(서버)에 저장되는 데이터
일반적으로 서버에는 데이터를 저장하는게 불가능하다.
따라서 session cookie를 발급해주는 것이다.
클라이언트에는 세션 쿠키가 발급되고 서버에는 세션이 생성된다.
클라이언트에서 서버로 통신할 때,
세션쿠키의 세션 id와 세션 객체의 세션 id가 동일하면 재방문으로 취급한다.
세션은 일반적으로 브라우저가 종료되는 순간 삭제된다.
1 ) 저장위치
Cookie : 클라이언트
Session : 서버
2 ) 저장형식
Cookie : 문자열
Session : 객체
3 ) 만료 시점
Cookie : 쿠키 저장시 설정
Session : 브라우저 종료 삭제 (기간 지정 가능)
4) 용량 제한
Cookie : 최대 쿠키 수: 20개 / 최대 쿠키 크기: 4KB
Session : 서버 허용 범위 안에서 제한 없음
5) 성능
Cookie : 빠름, 보안 약함
Session : 느림, 보안 강함
클라이언트(Client)에 정보를 저장하는 key-value 형태의 데이터
Web Storage는 LocalStorage
와 SessionStorage
두 가지 저장소를 제공한다.
1 ) LocalStorage
2 ) SessionStorage
1 ) 데이터 전송
Cookie : 매번 모든 쿠키가 서버로 전송
Web Storage : 클라이언트에 존재 (네트워크 트래픽 비용 줄여줌)
2 ) 저장형식
Cookie : 문자열
Web Storage : 객체
3 ) 용량 제한
Cookie : 최대 쿠키 수: 20개 / 최대 쿠키 크기: 4KB
Web Storage : 제한 없음 (용량 제한만 존재)
4 ) 만료 시점
Cookie : 쿠키 저장시 설정
Web Storage : 영구적