[WEB] Cookie, Session, Web Storage 차이점

minidoo·2021년 1월 13일
0

WEB

목록 보기
1/8
post-thumbnail

Cookie vs Session

Client(클라이언트)에 저장되는 데이터

1 ) 각 브라우저별로 저장
2 ) 각 사이트(host)별로 저장
3 ) DB 형태의 key-value로 저장(문자열만 가능)

클라이언트에서 서버로 통신할 때,
클라이언트와 함께 보내진 쿠키가 서버에 존재하는 경우 첫 방문, 아닐 경우 재방문으로 취급한다.

쿠키에는 시간제한을 설정할 수 있다.
시간제한을 가진 쿠키는 브라우저가 종료되도 데이터가 유지된다.

쿠키는 클라이언트에 저장되기 때문에 보완에 취약하다.
남이 읽지 못하게 만드는 cookie도 있는데 이를 session cookie라 부른다.

2. Session (세션)

Server(서버)에 저장되는 데이터

일반적으로 서버에는 데이터를 저장하는게 불가능하다.
따라서 session cookie를 발급해주는 것이다.

클라이언트에는 세션 쿠키가 발급되고 서버에는 세션이 생성된다.

클라이언트에서 서버로 통신할 때,
세션쿠키의 세션 id와 세션 객체의 세션 id가 동일하면 재방문으로 취급한다.

세션은 일반적으로 브라우저가 종료되는 순간 삭제된다.

1 ) 저장위치
Cookie : 클라이언트
Session : 서버

2 ) 저장형식
Cookie : 문자열
Session : 객체

3 ) 만료 시점
Cookie : 쿠키 저장시 설정
Session : 브라우저 종료 삭제 (기간 지정 가능)

4) 용량 제한
Cookie : 최대 쿠키 수: 20개 / 최대 쿠키 크기: 4KB
Session : 서버 허용 범위 안에서 제한 없음

5) 성능
Cookie : 빠름, 보안 약함
Session : 느림, 보안 강함


Cookie vs Web Storage

1. Web Storage

클라이언트(Client)에 정보를 저장하는 key-value 형태의 데이터

Web Storage는 LocalStorageSessionStorage 두 가지 저장소를 제공한다.

1 ) LocalStorage

  • 저장한 데이터는 명시적으로 지우지 않으면 영구 보관된다.
    (브라우저를 닫아도 데이터가 유지된다.)
  • 2개 이상의 브라우저를 띄워놨을 때 도메인이 같으면 데이터를 공유한다.

2 ) SessionStorage

  • 브라우저가 종료되면 데이터도 같이 지워진다.
  • 2개 이상의 브라우저를 띄워놨을 때 같은 도메인이라 할지라도 데이터를 공유하지 않는다.

1 ) 데이터 전송
Cookie : 매번 모든 쿠키가 서버로 전송
Web Storage : 클라이언트에 존재 (네트워크 트래픽 비용 줄여줌)

2 ) 저장형식
Cookie : 문자열
Web Storage : 객체

3 ) 용량 제한
Cookie : 최대 쿠키 수: 20개 / 최대 쿠키 크기: 4KB
Web Storage : 제한 없음 (용량 제한만 존재)

4 ) 만료 시점
Cookie : 쿠키 저장시 설정
Web Storage : 영구적


참고 사이트

https://kamang-it.tistory.com/entry/Web%EC%A1%B0%EA%B8%88-%EB%8D%94-%EC%9E%90%EC%84%B8%ED%9E%88%EB%8F%84%EB%8C%80%EC%B2%B4-%EC%99%9C-%EC%9D%B4%EB%A6%84%EC%9D%B4-%EC%BF%A0%ED%82%A4%EC%9D%B8%EA%B1%B8%EA%B9%8C-%EC%83%81%ED%83%9C%EB%A5%BC-%EC%A0%80%EC%9E%A5%ED%95%98%EB%8A%94-http-cookie

0개의 댓글