토큰
세션 방식은 안전하고 빠르지만 단점이 있다.
바로 메모리에 올려두고 사용하는 방식이라 서버에 부하가 과도하게 몰릴 시 뻗을 수 있다.
ㄴ SSD나 HDD 방식 같은 대용량 방식은 용량은 크지만 느리기 때문에
속도를 중시하는 시스템들은 메모리에 올여두고 사용하는게 일반적이다.
그래서 서버는 로그인한 사용자에게 "토큰 생성 & 검증 알고리즘"을 사용하여
토큰을 발급해준다.
이러한 이유로 사용자는 서버에게서 토큰을 쿠키 형식으로 받아서 필요할 때마다 서버에 제시하여
로그인시 인증 절차를 받을 수 있다.
단점 : 여러 기기 연결시 강제로 접속을 종료해야 하는데 토큰 방식의 경우 이런 것을 할 수 없다., 방지 대책으로는 토큰의 만료시간을 짧게 하여 부하를 줄이는 방식으로 설계한다.
토큰은 만료시간(유효기간)이 끝나기 전에는 서버가 통제할 수 없다는 점에서 보안상 취약해질 수 있다.
세션 | 토큰 | |
장점 | 사용자의 상태 원하는대로 통제 가능. | 상태를 따로 기억할 필요 X. |
단점 | 메모리에 로그인 되어 있는 사용자 상태를 보관해야 함(Memory load↑). | 한 번 로그인한 사용자가 만료시간이 될 때까지 통제 불가. |
캐시
Cache Memory 에서 주로 쓰는 단어이다.
컴퓨터의 하드웨어에서도 고속 연산을 담당하는 CPU의 메모리는
CPU 안에 Cache memory 라고 불리우는 곳에서 담당하는데 여기서 착안한 개념이다.
ㄴ 연산속도가 특히 빠르다. 그러나 용량은 역시 적다.
웹 상에서 한번 방문한 웹 사이트를 계속 요청하지 않게끔 개인 컴퓨터의 Cache에 저장시키는 기술이다.
반복적인 요청으로 Server에 Load가 걸리는 일도 없고 유저 입장에선 빠른 로딩으로 스트레스도 없다.
브라우저 캐시라고 표현한다.
쿠키 : text 조각 모음들로 사용자 편의성 위주로 수고를 덜어주는데 목적
캐시 : 데이터 전송량 측면에서 서비스 이용 속도를 높이는데 목적
CDN
콘텐츠 전송 네트워크의 줄임말이다.
사용자의 요청에 가장 가까운 서버에서 대응하는 서비스 개념이다.
즉, 본서버에서 전 세계에 흩어진 캐시 저장 및 전달용 컴퓨터에 데이터를 보내면
CDN은 이를 토대로 사용자의 요청을 토대로 가까운 서버에 작업이 할당되게끔 분산처리한다.
본서버는 1번만 데이터를 보내면 된다.
사용자는 가장 가까운 서버에서 데이터를 받으니 빠르게 데이터를 받을 수 있다.
대량의 데이터를 전송하는 서비스(Ex>넷플릭스, 유튜브 등)는 이런 CDN이 필수인 셈이다.
전세계 : AWS의 Cloudfront, CloudFlare, Akamai 등
한국 : GS 네오텍, SK브로드밴드, KT 등
서비스 특성, 사용자 규모, 대상 지역에 따라 적합한 CDN업체의 상품을 선택하는 게 중요하다.
'개발자와 커뮤니케이션' 카테고리의 다른 글
개발자들의 용어 정리 12 [웹 앱, 하이브리드 앱, PWA] (0) | 2022.12.12 |
---|---|
개발자들의 용어 정리 11 [네이티브, 크로스플랫폼] (0) | 2022.12.11 |
개발자들의 용어 정리 9 [쿠키, 세션] (0) | 2022.12.09 |
개발자들의 용어 정리 8 [자바스크립트, 웹표준, 반응형+적응형] (0) | 2022.12.08 |
개발자들의 용어 정리 7 [웹사이트, 웹 브라우저, HTML, CSS] (0) | 2022.12.06 |