ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 로컬 스토리지, 세션 스토리지, 쿠키
    CS지식의 정석/네트워크 2023. 11. 1. 01:59

    웹 스토리지

    1. 로컬 스토리지

    { key : value } 형태로 오리진에 종속되어 저장되는 데이터

    - 하나의 키에 하나의 값

    - 만료날짜가 없어 브라우저를 닫거나 컴퓨터를 종료해도 남아있음

    - 최대 저장용량 5MB

    - 자동으로 서버로 전송되지 않는다

     

    2. 세션 스토리지

    { key : value } 형태로 오리진에 종속되어 저장되는 데이터

    - 하나의 키에 하나의 값

    - 브라우저 탭을 닫으면 데이터는 지워짐

    - 최대 저장용량 5MB

     

    웹 스토리지의 장단점

    장점 

    - 서버에 불필요한 데이터 저장X

    - 저장 용량이 쿠키에 비해 큼

    - 문자열 외에도 자바스크립트의 모든 원시형 데이터와 객체 저장 가능

    - CSRF로부터 안전

     

    단점

    - HTML5를 지원하는 브라우저만 사용 가능

    - XSS로부터 위험

     

     

    쿠키

    - 쿠키는 클라이언트와 서버의 연결이 끊겨도 필요한 정보를 기억하게 하기위해 서버에서 데이터를 묶어서 클라이언트의    컴퓨터 혹은 브라우져의 메모리에 저장되는 key value로 이루어진 작은 텍스트 파일

    - 보통 서버에서 먼저 설정해서 쿠키를 만드는게 일반적(Set-Cookie 헤더)

    - 최대 저장용량 4KB

     

    쿠키의 장단점

    장점

    - 대부분의 브라우저가 지원

    - XSS로부터 안전(httpOnly)

    단점

    - 저장 가능한 데이터 용량이 작음

    - 매번 같이 전달되어 서버에 부담됨

    - SCRF로부터 위험

    - 문자열만 저장 가능

     

     

     

    각 사용처

    쿠키 : 일시적으로 필요한 가벼운 데이터 저장이 필요할 때, 다시 보지 않을 쿠키 팝업창 , 로그인 자동 완성

    로컬 스토리지 : 지속적으로 필요한 데이터 저장이 필요할 때, 자동 로그인

    세션 스토리지 : 일시적으로 필요한 데이터 저장이 필요할 때, 일회성 로그인, 입력 폼 저장, 비로그인 장바구니

     

     

     

    https://www.zerocho.com/category/HTML&DOM/post/5918515b1ed39f00182d3048

     

    이외에

    1. 쿠키옵션

    secure : https로만 쿠키를 주고받을 수 있게 하는 옵션, 오남용을 막기위해 현재는 사용X

    httponly : 공격자가 자바스크립트로 빼낼 수 없게 하는 옵션

    samesite : 요청이 동일한 도메인에서 되는 경우에만 쿠키가 애플리케이션으로 전송되도록 허용

     

    2. 쿠키의 시큐어 코딩

    쿠키 - 세션으로 로그인을 처리한다면 다음과 같은 시큐어 코딩을 해야 합니다.
    1. cookie에 세션ID를 담을 때 이 세션ID기반으로 클라이언트의 개인정보를 유추할 수
    없게 해야 합니다.
    2. 자바스크립트로는 파악할 수 없게 http only 옵션을 걸어야 합니다.
    3. 일정시간의 세션 타임아웃 걸어야 합니다.

    'CS지식의 정석 > 네트워크' 카테고리의 다른 글

    로그인 #2. 토큰 기반 인증 방식  (0) 2023.11.01
    로그인 #1. 세션 기반 인증 방식  (0) 2023.11.01
    HTTPS와 TLS #2. TLS 핸드셰이크  (0) 2023.10.28
    HTTPS와 TLS #1. 암호화  (0) 2023.10.28
    HTTP/2와 HTTP/3  (0) 2023.10.28
Designed by Tistory.