And Brain said,
쿠키, 세션, 토큰, 캐시, CDN 본문
오늘은 쿠키, 세션, 토큰, 캐시, CDN에 대해 알아보자.
* 기본적으로 서버와 클라이언트의 HTTP 통신은 클라이언트가 요청을 하고 응답을 받으면 연결을 끊어버리고 그 상태를 유지하지 않는다.
쿠키
클라이언트에 저장되는 키와 값 유지시간 도메인 경로가 들어있는 작은 텍스트 데이터.
클라이언트가 요청을 하면 서버에서 쿠키를 생성하고 HTTP 헤더에 쿠키를 포함 시켜 응답한다.
브라우저가 종료되어도 쿠키 만료 기간이 있다면 클라이언트에서 보관한다.
같은 요청을 할 경우 HTTP 헤더에 쿠키를 함께 보내고
서버에서 쿠키를 읽어 이전 상태 정보를 변경 할 필요가 있을 때 쿠키를 업데이트 하여 변경된 쿠키를 HTTP 헤더에 포함시켜 응답한다.
세션
세션은 쿠키를 기반으로 하지만 클라이언트에 저장되는 쿠키와 달리 세션은 서버에서 관리된다.
클라이언트가 서버에 접속 시 세션 ID를 발급 받고
이를 쿠키를 사용해서 가지고 있는다.
클라이언트는 서버에 요청할 때, 이 쿠키의 세션 ID를 같이 서버에 전달해서 요청한다.
서버는 세션 ID를 전달 받아서 세션 ID로 세션에 있는 클라이언트 정보를 가지고 요청을 처리하여 클라이언트에게 응답한다.
토큰
세션 방식은 클라이언트에 세션ID만 저장되므로 안전하고 효과적이지만 동시 접속자가 많아지면 서버에 부하가 걸리는 단점이 있다.
그리하여 나온 대안이 토큰(*ex. JWT)이다.
세션과 크게 다르게 동작하진 않지만, 서버는 유저정보를 담은 토큰을 암호화하여 클라이언트에 보내준다.
그리하여, 서버측에서 별도의 저장소를 관리하는 세션과 달리 토큰 방식의 인증은 서버가 검증만 하게되어 부하가 줄어든다.
캐시
한 번 전송받은 데이터를 저장하고 이후 다시 사용할 때 꺼내 쓰는 방식.
주로 이미지, 동영상같은 큰 데이터 전송 시간을 줄이기 위해 사용된다.
CDN
Content Delivery Network | Content Distribution Network
쉽게 말해 클라우드화된 캐시다.
각 지역에 캐시서버를 분산 배치시켜 미국에서 한국의 컨텐츠를 요청하면 그 요청이 한국의 캐시 서버로 요청을 보내어 컨텐츠 전송 속도를 빠르게 만든다.
분산 배치된 캐시서버를 통해 전세계 사용자들이 물리적 거리를 줄여 제약없이 컨텐츠를 원할한 속도로 전송받을 수 있다.
Thanks for watching, Have a nice day.
'IT > DevOps \ Architecture' 카테고리의 다른 글
MSA | Netflix OSS로 보는 MSA의 골격 (0) | 2022.10.27 |
---|---|
Agile 방법론 | Scrum (2) | 2022.10.26 |
Agile 방법론 | 12가지 애자일 원칙 (0) | 2022.10.20 |
MSA | Microservices Architecture (1) | 2022.10.19 |
SPA, SSR (0) | 2022.10.15 |