쿠키+세션+웹스토리지

Reading-Snail·2023년 12월 13일
1

💡 Qurious 팽이! 💡

목록 보기
2/14

아래의 저장소들을 connectionless와 stateless를 지향하는 HTTPS 통신 프로토콜의 한계를 보완하기 위해 나온 것들입니다. 즉, 서버가 각각의 클라이언트들을 구별하고, 식별하기 위해 데이터를 저장하는 것입니다.

HTTP/WEB/Internet/Broswer 쿠키

  • 서버에서 생성 후 클라이언트에서 관리
  • 허용 용량이 작고,
  • 텍스트만 저장이 가능
  • 설정 시간동안 유지
  • Request Header에 저장되어 Request시 항상 서버로 전송
  • 필요시 HTTPonly를 설정하여 js를 조작하는 XSS로부터의 보안을 향상 가능
    e.g. 장바구니, 자동완성

세션(HTTP Session)

  • 서버에서 관리 -> 쿠키보다 보안이 좋음, 사용자 증가 시 메모리 부하
  • 브라우저를 종료할 때까지 또는 설정 시간 동안 유지
  • JS의 원시 자료형을 모두 지원

웹스토리지 (로컬 + 세션 스토리지)

  • 클라이언트에서 관리
  • HTML5부터 추가 된 저장소
  • 쿠키 vs 웹 스토리지
  • 용량이 크고,
  • 자동전송 하지 않고,
  • CORS 적용으로 CSRF로부터 안전
  • 만료일자를 사용을 안할 수 있음. 즉, 영구 저장
  • 로컬 vs 세션: 유효 범위와 보존 기간에 따라 분류

로컬 스토리지

  • 도메인당 하나씩 생성
  • 삭제하지 않으면 영구 저장

세션 스토리지

  • 새창/새탭/도메인 마다 별개의 세션을 갖음
  • e.g. 회원가입 입력폼, 일회성 로그인

참조:

profile
책읽는 달팽이 || 공학도에서 개발자로! || 결국 과거의 흐름을 이해했을 때 지금의 것들을 통찰력있게 바라볼 수 있다고 믿습니다.

0개의 댓글

관련 채용 정보