: 토큰에 대해 공부하다보니까 프론트에서 어떻게 처리하고 있는지 궁금해져서 찾아본 개념.
- 메모리
- 브라우저의 저장공간이 아니라, 사용자의 RAM(
Random Access Memory
)임 - 브라우저의 해당 페이지, 페이지가 넘어가거나 다른곳으로 달라지면 해당 메모리의 저장내용은 사라진다.
- 브라우저의 저장공간이 아니라, 사용자의 RAM(
- 세션 스토리지
- 브라우저의 저장공간
- 브라우저의 완전히 꺼지기 전까지 데이터들이 저장된다.
- 여기서, 새 탭은 다른 브라우저로 간주한다.
- 로컬 스토리지
- 브라우저의 저장공간
- 데이터를 지우기 전까지 브라우저가 종료되어도 데이터가 남아있음
- 쿠키
- 브라우저의 저장공간 + 서버와의 통신에도 사용되는 개념
- 클라이언트 ↔ 서버 간 데이터 조각
- 도메인 기반으로 브라우저 내부에 저장된다.
- Http 요청을 하게되면 알아서 헤더에 실려간다.
setCookie
- Http 는 평서문이라 통신할때 보통 쓰지 않는데 로컬에서는 아직도 많이 사용함
- 쿠키는 만료시간이 존재
여기서, 쿠키가 나오면 맨날 같이 등장하는 세션은 세션 스토리지 이다? → 아니다.
- 세션
- Http 프로토콜은 평서문, 무상태(Stateless)라서 이전 요청을 기억하진 않는다.
- 세션은 이전 요청을 기억하기 위해서 나온 개념이다.
- 최초 요청이 서버는 요청에 대해 랜덤값을 생성해서 가지고 있고 해당 값을 프론트에 주면 쿠키에 저장하고 있는다 → 매 요청마다 세션 ID가 자동으로 같이 온다.
- 그럼 언제 세션ID가 변경되는가?
- 서버에 설정된 세션 만료시간
- 쿠키에 저장되기 때문에 다른 도메인 주소
세션 스토리지는 브라우저의 저장공간을 의미하고, 세션은 서버와 통신할때 사용되는 개념이다. 세션 ≠ 세션 스토리지
심지어 세션은 쿠키에 저장됨.