HTTP 는 상태가 필요해

상태 프로토콜 (state protocol) - 상태를 저장하는 프로토콜 : TCP

무상태 프로토콜 (stateless protocol) - 상태를 저장하지 않는 프로토콜: IP, UDP, HTTP

  • 장점: 상태를 어떻게 저장할지 고려할 필요가 없어서 서버를 단순하게 설계가능
  • 단점: 요청마다 추가 정보를 전달

HTTP 외부에 따로 저장소를 두어 그곳에서 상태를 저장할 수 있도록 관리하고, 필요에 맞게 서버에 상탤르 전달

--- HTTP 단점 보완

브라우저 안의 작은 조각, 쿠키

데이터를 저장하는 방식 중 하나 인 쿠키

 

브라우저에 데이터를 저장하는 이유

  신속성과 서버 비용절감

 

 

숨은 작은 조각, 쿠키

세션 쿠키(session cookie) : 브라우저가 종료될때 함께 사라짐

영구 쿠키 (persistant cookie) : 만료 기간이 존대, 해당 기간이 지나면 삭제

 

쿠키의 단점

보안에 취약

 

퍼스트 파티 쿠키 - 방문한 웹사이트에서 직접 발행한 쿠키

서드 파티 쿠키  - 제 삼자가 발행 한 쿠키

 

개징정보 문제

 쇼핑한 내용과 유사한 광고가 뜨는 모습 <- 서트 파티 쿠키 때문

 

쿠키를 넘어서, 웹 스토리지와 IndexdedDB

더 많이 더 빠르게, 웹 스토리지

 

<그림 첨부>

웹 스토리지는 데이터의 유지시간에 따라 두 가지로 분류

  • 로컬 스토리지 : 자동 로그인처럼 지속해서 사용해야 하는 데이터
  • 세션 스토리지 : 일회성 정보처럼 잠깐만 필요한 데이터

로컬 스토리지에 데이터를 추가하기 위해서는  → localStorage.setItem('key', 'value');

특정 키의 값만 삭제 → removeItem('key')

웹 페이지내 모든 로컬 스토리지 값을 삭제 → clear()

 

브라우저 안의 데이터 베이스, IndexedDB

 

  • 브라우저에 내장된 데이터베이스 이며, 웹 스토리지보다 더 강력하게 데이터를 저장하는 방법
  • 많은 양의 데이터를 체계적으로 관리할 수 있게 해줌 → 물류창고 같은 느낌
  • 클라이언트 단에서 자바스크립트로 조작 가능
  • 웹 스토리지나 쿠키는 키값을 알아야 값을 찾는 것이 가능하지만, IndexedDB 는 cursor라는 개념을 이용하여 키를 몰라도 찾는 것이 가능

세션으로 안전하게 저장하기

브라우저에서 데이터를 저장하면 다른사람들이 쉽게 접근할 수 있다는 문제점이 있다.

 

서버에 데이터를 저장하는 세션

  • 사용자 정보를 서버 측에 저장하는 방법을 말할때도 세션(Session)이라고 한다.
  • 서버에 일시적으로 데이터를 저장할 수 있는 기술 
  • 세션 정보를 저장하는 장소는 쿠키, 세션은 쿠키에 기반한 관계
  • 클라이언트에 세션 정보를 저장하는 과정에서 쿠키사용

??? 쿠키는 실제 데이터를 클라이언트에 저장, 세션은 서버에 저장

 

 

 

 

+ Recent posts