일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- 제이콥닐슨 사용성평가기준
- GUI
- 혼자공부하는얄팍한코딩지식
- 혼자공부하는
- 혼공학습단11기
- 혼자서공부하는
- 혼자공부하는네트워크
- https
- HTTP
- 혼공얄코
- HTTP메시지구조
- UI
- 이더넷허브
- HTTP와HTTPS차이점
- 혼공시리즈
- UX
- column grid system
- 프로그래머스문자열출력하기
- 자바스크립트문자열출력하기
- user flow
- 혼자서공부하는얄팍한코딩지식
- 2024년회고
- 네트워크
- 혼공네트
- 혼공학습단
- 피터모빌의벌집모형
- 사이드이펙
- 혼자서공부하는네트워크
- 혼공네트워크
- 한빛미디어
- Today
- Total
호기심으로 시작한 Frontend 꾸준함으로 채워나가는 Developer
[혼공얄코] Chapter 02-3 쿠키, 토큰, 캐시는 일상에서 쓰는 그 단어인가요? 본문
- 효율적인 웹 운영과 사용을 위해 데이터가 저장되는 다섯 가지 개념 : 쿠키, 세션, 토큰, 캐시, CDN
브라우저에 저장되는 정보 쿠키
쿠키에 저장되는 예시)
- 로그인 없이 장바구니에 물건 담기 기능
- 검색 기록에서 이전에 입력했던 검색어 찾기
- 웹 서핑 기록이 마케팅과 광고에 활용되는 것
- 웹툰 목록이나 웹 페이지의 다크 모드 설정 여부 등과 간단한 정보들
쿠키란?
- 브라우저(크롬, 사파리 = 사용자의 컴퓨터에 설치된 소프트웨어 )에 저장되는 작은 텍스트 조각
- 쿠키는 사용자가 갖고 있는 정보 = 사용자에게 맡겨도 되는 정보만 저장
- 사용자는 설정 화면이나 개발자 도구에서 쿠키를 확인하고 수정, 삭제 가능
- 개인 또는 제 3자가 조회하는 것도 가능하기에 개인 정보 담은 내용, 보안 상 민감한 정보를 저장하는데 적합X
서버가 나를 알아보는 방법 세션
세션이란?
로그인 여부 등 사용자와 서버의 관계가 기억되어 보존되고 있는 상태
사용자의 아이디를 메모리(=책상)에 올려두고 빠르게 확인, 메모리 공간이 부족하면 서버에 부하)
- 로그인하며 입력된 아이디와 비밀번호를 서버에 제공하여 다른 페이지 이동시 계속 로그인을 하지 않아도 됨
- 사용자가 로그인에 성공하면 서버는 세션 아이디라는 데이터(알파벳과 숫자가 혼합된 형식 : 2sd98dbawix4)
- 세션 아이디를 사용자에게 전달, 메모리에 아이디 사본을 어떤 사용자의 것인지 적어서 보관
- 사용자는 서버로부터 받은 세션 아이디를 쿠키로 저장 후 모든 요청에 전달!
- 댓글 작성, 삭제, 구매한 상품 내역 조회 등 세션 아이디 중에서 동일한 정보인지, 누구의 계정인지 확인 후 액션
세션과는 또 다른 로그인 유지 방식 토큰
- 로그인한 사용자에게 세션 아이디 대신 토큰을 발급
- 특수한 수학적 원리가 적용되어 있어 (=위조 방지 장치가 있는 지폐) 서버만이 유효한 토큰을 발행
- 토큰을 받아간 사용자가 이를 쿠키에 저장해 두고 필요할 때마다 제시하면 사용자 요청 허가함, 서버 부하 줄임
- 서버가 강제 로그아웃을 시킬 수 있어야 할 때, 토큰 방식에서는 불가능
세션 방식 | 토큰 방식 | |
장점 | 사용자의 상태를 원하는대로 통제 가능 | 상태를 따로 기억해 둘 필요가 없음 |
단점 | 메모리에 로그인되어 있는 사용자의 상태를 보관해야 함 | 한번 로그인한 사용자의 상태는 토큰이 만료될 때까지 제어가 불가능함 |
전송량은 줄이고 속도는 높이고 캐시
- 이미지,동영상, 웹 페이지 코드와 같은 대용량의 데이터를 서버로부터 전송받는데 캐시 덕분에 반복적으로 데이터 전송을 요청하지 않고 콘텐츠를 빠르게 이용할 수 있고 데이터 사용량도 줄일 수 있다.
- 컴퓨터의 하드웨어 안에서도 메모리 안에 들어 있는 정보를 더 빨리 가져올 수 있도록 하는 CPU 캐시 등 개념도 있음
- 쿠키와 캐시 모두 정보를 저장하여 재활용하는 기술
- 캐시는 데이터의 전송량을 줄이고 서비스 이용 속도를 높이는데 목적을 둠
서버 부담은 줄이고 사용자와는 가깝게 CDN (콘텐츠 전송 네트워크)
지리적으로 분산된 여러 개의 서버를 이용해 웹 콘텐츠를 사용자와 가까운 서버에서 전송함으로써 전송 속도를 높인다.
전 세계 각지에 세워진 캐시 저장 및 전달용 컴퓨터(CDN 업체 소유)들에 보내면 사용자는 본 서버가 아닌 본인에게서 가장 가까운 캐시 서버로 요청을 보내고 데이터를 받아오는 것
- 사용자는 데이터를 보다 빠르고 안정적으로 받아오며 대량의 데이터를 전송하는 서비스, 유튜브, 넷플릭스와 같은 동영상 서비스에 CDN은 필수
- AWS의 CloudFront, CloudFlare, Akamai 한국에는 GS네오텍, SK브로드밴드, KT 등 한국 서비스에 최적화된 업체들임
확인 문제
1. 다음 중 틀린 것을 고르세요
1. 사용자의 집 주소와 계좌 빌밀번호는 쿠키에 저장하는 것이 좋습니다
2. 다음 문장 중 괄호 안에 알맞은 내용을 보기에서 찾아 써 보세요.
- 사용자 로그인 관리에 있어 서버의 자원을 효율적으로 상요하는 데는 (토큰)방식이, 로그인 등 사용자의 상태롤 보다 철저히 통제하는 데는 (세션) 방식이 유리합니다.
- 온라인 서비스나 콘텐츠를 해외에 빠르고 안정적으로 제공하기 위해서는 각국에 (캐시 서버)을 둔 (CDN)를 이용할 필요가 있습니다.
3. 다음 중 가가 문장에 해당하는 단어를 보기에서 찾아 써 보세요.
- 쿠키는 사용자의 정보를 (브라우저)에 저장합니다.
- 세션은 로그인 상태를 기억하기 위해 (세션 아이디)를 쿠키에 저장합니다.
- 서버를 분산해서 응답 속도 저하나 서버 오류를 최소화하기 위해 사용하는 것을 (CDN)이라고 합니다.
4. 다음 중 옳은 것을 고르세요
5 세션 대신 토큰을 발급하면 메모리 사용량을 줄일 수 있습니다.
5. 다음 중 용도에 적합한 단어를 써 보세요.
- 메모리 제한이 있는 서버에서 사용자 로그인 관리 (토큰)
- 브라우저에 사용자의 검색어 입력 기록 저장 (쿠키)
- 다국적으로 서비스되는 온라인 게임을 위한 지역별 데이터 저장소 구축 (CDN)
- 재생한 동영상 데이터를 일시적으로 스마트폰에 저장 (캐시)
- 각 사용자의 로그인 상태를 제어할 수 있어야 하는 온라인 서비스 (세션)
'혼공 시리즈 > 혼공얄코' 카테고리의 다른 글
[혼공얄코] Chapter 02-5 웹이 보이는 곳과 보이지 않는 곳 (0) | 2024.01.19 |
---|---|
[혼공얄코] Chapter 02-4 스마트폰 앱인데 웹사이트라고요? (0) | 2024.01.19 |
[혼공얄코] Chapter 02-2 웹사이트는 어떻게 만들어지나요? (0) | 2024.01.17 |
★ 혼공학습단 11기 1주차 우수 혼공족 선정 ★ (0) | 2024.01.16 |
[혼공얄코] 3주차 선택미션 - HTTP와 HTTPS의 차이점 정리 (1) | 2024.01.16 |