쿠키 vs 세션 vs 캐시

주딩·2025년 4월 28일
0

CS 공부

목록 보기
5/5
post-thumbnail

오늘 면접 관련 특강을 듣다가 CS 관련 면접 질문 목록을 보게 되었다. 질문 목록에서 있던 질문 중 가장 궁금했던 쿠키, 세션 그리고 캐시의 차이점에 대해서 먼저 알아보고자 한다! 🤓

쿠키(Cookie)

쿠키는 클라이언트(로컬)에 저장되는 작은 텍스트 파일이고, 키와 값이 들어있음. 직접 삭제하지 않는 한 영구적으로 로컬에 저장됨.

항목내용
저장 위치사용자 브라우저(클라이언트)
구성요소이름, 값, 유효시간, 도메인, 경로
작동방식1. 서버 응답 시 HTTP 헤더에 set-cookie 옵션을 통해 쿠키를 포함한 응답을 보냄
2. 클라이언트가 요청 시 쿠키 정보와 함께 전송
장점서버 자원 소모 없음, 지속적인 정보 유지 가능
단점해당 데이터는 일반 텍스트이므로 설계상 보안이 보장되지 않음, 용량 제한이 있음

세션(Session)

일정 기간 동안 같은 사용자의 요청을 하나의 상태로 유지하는 기술. 웹 브라우저가 서버에 접속해 브라우저를 종료할 때까지 세션을 유지함.

항목내용
저장위치서버에 저장, 클라이언트는 세션 ID만 쿠키로 보유
작동방식1. 서버가 세션 생성 후 고유 ID 발급
2. ID를 쿠키에 담아 클라이언트에 전송
3. 클라이언트는 요청 시 세션 ID 쿠키 함께 전송
4. 서버는 세션 ID로 사용자 식별
장점데이터를 서버에 저장해 보안이 우수함
단점다수 사용자 접속 시 서버 부하 발생 가능

캐시 (Cache)

자주 사용하는 데이터나 값을 임시 저장하는 저장소

항목내용
저장위치클라이언트(브라우저 캐시) 또는 서버 측 모두 가능
작동방식1. 최초 접근 시 데이터 저장
2. 이후 같은 요청 발생 시 저장된 데이터 활용
3. 설정된 유효기간에 따라 갱신
장점캐시에 데이터를 복사해 놓으면, 계산이나 접근 시간 없이 더 빠른 속도로 데이터를 접근 가능
단점원본 데이터가 변경되었는데 캐시된 데이터가 갱신되지 않으면 오래된 정보 표시, 저장 공간이 제한적임

쿠키, 세션, 캐시의 차이점

구분쿠키세션캐시
저장위치클라이언트서버클라이언트 또는 서버
목적사용자 식별 및 상태유지사용자 식별 및 상태유지성능 향상
보안성낮음높음-
라이프사이클만료시간까지 유지브라우저 종료 시 삭제설정된 만료기간까지
저장내용텍스트 데이터, 사용자 정보텍스트 데이터, 사용자 정보정적 리소스(이미지, CSS, JS 파일)

요약
쿠키 => 사용자의 정보를 클라이언트에 저장
세션 => 사용자의 정보를 서버에 저장
캐시 => 요청한 데이터를 클라이언트 또는 서버에 임시 저장

[출처]
https://code-lab1.tistory.com/298
https://www.xenonstack.com/insights/local-vs-session-storage-cookie

profile
모든 것은 익숙해지기 전까지 어렵다!

0개의 댓글