1. 쿠키(Cookie)
클라이언트(사용자의 웹 브라우저) 측에 텍스트 파일 형태로 저장되는 작은 데이터 파일,
사용자가 웹사이트를 방문할 때마다 서버에 의해 생성되며 브라우저를 통해 클라이언트에 저장된다
1) 장점
- 사용자의 선호도, 로그인 상태 등을 기억해서 개인화된 서비스 제공이 가능하다 (팝업창, 아이디 저장하기 등)
- 세션 관리, 사용자 추적 등에 용이하다
2) 단점
- 한정된 데이터 크기(약 4kb)만 저장 가능하다
- 클라이언트에 저장되므로 보안에 취약할 수 있다
- 사용자가 쿠키를 삭제하거나 비활성화할 수 있다
3) 동작 방식
- 사용자가 웹사이트에 접속하면, 서버는 사용자의 브라우저에 쿠키를 생성해서 보낸다. 이 쿠키는 사용자의 컴퓨터에 저장된다
- 사용자가 같은 웹사이트에 다시 접속하면, 브라우저는 해당 사이트의 서버에 저장된 쿠키 정보를 함께 전송한다
- 서버는 이 정보를 사용해서 사용자를 식별한다
❔ 사용하는 이유
- 사용자의 로그인 상태, 선호 언어, 테마 선택 등 개인화 된 설정을 기억할 수 있다
- 방문자 추적을 통해 사용자 행동 분석 및 마케팅 전략에도 사용될 수 있다
2. 세션(Session)
서버 측에서 사용자 정보를 저장하는 방법, 사용자가 서버에 접속해 있는 동안 사용자의 상태를 유지한다
1) 장점
- 쿠키보다 보안적으로 더 안전하다. 데이터가 서버에 저장되기 때문에 클라이언트에서 직접적인 접근이 불가능하다
- 크기 제한 없이 많은 양의 데이터를 저장할 수 있다
2) 단점
- 사용자가 많아질 수록 서버의 메모리를 많이 차지해서 성능 저하를 일으킬 수 있다
- 사용자가 브라우저를 닫거나 세션이 타임아웃되면 정보가 사라진다
3) 동작 방식
- 사용자가 웹사이트에 접속하면 서버는 고유한 세션 ID를 생성하고, 사용자의 브라우저에 쿠키 형태로 저장된다
- 사용자가 서버에 요청을 보낼 때마다, 브라우저는 세션 ID를 포함하여 요청을 전송한다
- 서버는 세션 ID를 기반으로 사용자를 식별하고, 서버에 저장된 해당 사용자의 세션 정보에 접근해서 필요한 데이터를 처리한다
❔ 사용하는 이유
- 로그인 정보, 장바구니 내용 등 중요한 사용자 정보를 안전하게 서버에 저장하며 관리한다
- 쿠키보다 보안성이 높으며, 클라이언트 측에 민감한 정보를 남기지 않는다
3. 캐시(Cache)
자주 사용되는 데이터나 파일을 임시로 저장해두는 공간으로, 클라이언트 또는 서버 측에 존재할 수 있다.
데이터 로딩 시간을 줄이고 서버의 부하를 감소시키는 데 도움을 준다
1) 장점
- 웹 페이지의 로딩 속도를 개선한다
- 네트워크 트래픽을 줄이고, 서버 부하를 감소시킨다
2) 단점
- 캐시된 데이터를 메모리에 저장해야돼서 메모리 사용량이 높아질 수 있다
- 캐시된 데이터가 최신 데이터가 아닐 수 있다
3) 동작 방식
- 웹페이지 또는 앱에서 자주 사용되는 데이터, 이미지, 파일 등을 사용자의 브라우저나 서버 측에 임시로 저장한다
- 해당 데이터에 다시 접근할 필요가 있을 때, 캐시에서 빠르게 로드해서 사용자에게 제공한다. 서버에서 매번 데이터를 불러오는 것보다 훨씬 빠르다
- 캐시된 데이터는 정해진 시간 동안 또는 수동으로 갱신되기 전까지 저장된다
❔ 사용하는 이유
- 웹페이지의 로딩 시간을 단축시켜 사용자에게 빠른 접근성을 제공한다
- 서버의 부하를 줄이고, 네트워크 트래픽을 감소시킬 수 있다
- 인터넷 연결이 불안정하거나 오프라인일 때도 일부 데이터에 접근할 수 있다
'스터디' 카테고리의 다른 글
[Spring] Security, JWT 개념 정리 (0) | 2024.03.17 |
---|---|
[React] 리액트 설치 및 실행하는 방법 + 타입스크립트 버전 설치 (3) | 2023.12.19 |
[Network] 네트워크 기초 정리 (1) (0) | 2023.10.15 |
VirtualBox에 설치한 리눅스에 Putty로 접속하는 방법 (0) | 2023.10.13 |
Virtual Box 설치 + 우분투(Ubuntu) 설치 (0) | 2023.10.12 |