Leading engineer
5강 Cookie Session Cache 란 무엇인가? 본문
Cookie: 사이트를 방문하고 이용할 때 브라우저에 저장되는 내용이다.
=> 민감하거나 중요한 정보가 노출될 위험이 있다.
.
로그인창의 아이디를 자동완성하거나 공지 메시지를 하루 안보기 하거나 쇼핑몰 사이트에서 로그인 안 한 상태로 물건을 장바구니에 담는 등 사용자의 편의를 위하되 지워지거나 조작되거나 가로채이더라도 큰 일은 없을 수준의 정보들을 브라우저에 저장하는데 사용된다.
.
Session : 쿠키에 보관하기 곤란한 정보들은 세션에서 관리.
=> Session을 사용하는 사이트에 접속하면 서버에서는 사용자를 구분하기 위한 기한이 짧은 임시 키 하나를 브라우저에 보내서 쿠키로 저장한다.
.
Session : 사용자나 다른 누군가에게 노출되어서는 안되는, 서비스제공자가 직접 관리해야 할 정보들은 세션으로 서버 안에서 다뤄진다.
Cache : 웹 뿐만 아니라 컴퓨터의 메모리 부분이나 안드로이드 등 다양한 곳에서 쓰이는데, 가져오는데 비용이 드는 데이터를 한 번 가져온 뒤에는 임시로 저장해 두는 것이다.
웹 캐시는 이미지 등의 정보를 불러올 때 데이터 사용량도 발생하고 시간도 들기 때문에 사용자가 여러 번 방문할 법한 사이트에서는 한 번 받아온 데이터를 사용자의 컴퓨터 또는 중간 역할을 하는 서버에 저장해 둔다.
예시)
'알코'란 사용자가 사이트 안의 페이지들을 돌아다닐 때, 이 사용자의 중요한 정보들은 이 서버의 메모리나 데이터베이스에 저장된다.
브라우저가 이 사이트의 페이지들에 접속할 때마다 http 요청에 이 키가 담긴 쿠키를 실어서 전송하고 서버는 그 키를 보고 '얘는 알코구나'를 인식해서 알코의 정보들을 가공해서 응답으로 보내준다.
네이버에 한번 로그인한 다음 네이버의 다른 페이지들을 이용할 때마다 새로 로그인 할 필요가 없는 건
Cookie와 Session의 조합으로 내 컴퓨터에서 네이버에 로그인해 있다는 것을 네이버 서버가 인지하고 있기 때문이다.
네이버에 속한 모든 쿠키를 지우고 새로고침하면 네이버 로그인이 해제되어 있다.
서버에서는 Session에 내 로그인 정보를 갖고 있지만, 그게 내 것이라는 걸 증명할 Session 아이디가 내 Cookie 보관함에서 지워졌기 때문이다.
.
정리:
1. Cookie란?
사용자의 브라우저에 저장되는 정보
보안 중요도가 낮은, 편의를 위한 정보 저장
2. Session란?
서버에서 직접 관리하는, 보안 중요도가 높은 정보
3. Cache란?
다량의 정보들을 한 번 전송받은 뒤 다시 로드할 필요가 없도록 사용자의 컴퓨터나 중간 서버 등에 저장하는 것
'Dev > 사전학습' 카테고리의 다른 글
7강 Static Web, Dynamic Web이란? (0) | 2023.01.14 |
---|---|
6강 클라우드 컴퓨팅이란? (1) | 2023.01.14 |
4강 왜 익스플로러를 싫어하는가? (0) | 2023.01.13 |
3강 HTML (0) | 2023.01.13 |
2강 서버란 무엇인가? (0) | 2023.01.13 |