어플리케이션

쿠키, 캐시, 세션이 무엇이고, 왜 중요한지 알아보겠습니다.

forward error correction Circle 2025. 6. 12. 08:59
반응형

웹 사이트를 사용할 때 우리는 로그인도 하고, 내가 뭘 좋아하는지 기억해주기도 하고, 빠르게 페이지가 열리기도 합니다. 이런 게 가능한 이유는 웹이 단순히 정보를 보여주는 걸 넘어, 사용자 정보를 기억하고, 빠르게 처리하고, 안전하게 관리하려고 다양한 기술을 쓰기 때문입니다. 그 중심에 있는 게 바로 쿠키(Cookie), 캐시(Cache), 세션(Session) 이 세 가지입니다.

 

Ⅰ. 쿠키(Cookie) 란?

 쿠키는 웹사이트가 여러분의 브라우저에 저장하는 작은 정보 조각입니다. 예를 들어 “로그인 유지하기” 기능이나 “최근 본 상품” 같은 게 쿠키 덕분에 가능합니다.

 

ⅰ. 쿠키(Cookie) 구조

  1) 이름-값 쌍: user_id=abc123 형태의 식별 정보
  2) 도메인/경로 지정: Domain=.example.com; Path=/products
  3) 만료 시점: Expires 또는 Max-Age 속성
  4) 보안 속성: Secure, HttpOnly, SameSite=Strict 등

      (Secure, HttpOnly, SameSite=Stric 옵션으로 계정 탈취 및 웹 공격에 대해 막을 수 있습니다)

ⅱ. 쿠키(Cookie) 속성
 특정 웹사이트 안에서만 쓰이고, 저장되는 위치나 유효기간을 설정할 수 있어요.

   1) Domain=.example.com; Path=/products

        : example.com/products 설정으로 example.com/products 경로에서만 이 쿠키가 전송됩니다.

   2)  Expires=Wed, 21 Oct 2025 07:28:00 GMT 또는 Max-Age=3600

        : Expires는 정확한 날짜, Max-Age는 몇 초 뒤 만료를 의미하고, 유효기간이 지나면 브라우저가 자동으로 쿠키를 삭제합니다.

 

ⅲ. 쿠키(Cookie) 사용 시 주의할 점
 모든 요청에 쿠키가 따라가기 때문에, 너무 많이 저장하면 속도가 느려질 수 있습니다.

그래서 최근에는 쿠키의 개수와 크기를 제한하고, 필요할 때만 쓰도록 개선되고 있습니다.

웹 표준 권고안(2025년 기준)
 1) 도메인당 최대 180개 쿠키 허용
 2) 쿠키 크기 최대 4096바이트 제한
 3) 초당 600건 이상의 쿠키 갱신 시 스로틀링 적용

 

Ⅱ. 캐시(Cache) 란?

 캐시는 이미 본 페이지나 이미지 등을 사용자의 브라우저에 저장해두는 저장소입니다. 그래서 똑같은 파일을 또 불러올 필요 없이 훨씬 빠르게 페이지를 띄울 수 있습니다.

 ⅰ. 캐시 저장 위치

   1) 브라우저 안 (메모리/디스크 캐시)

   2) 서버 앞단 (Varnish, Nginx)

   3) 전 세계 중간 서버 (CDN: Cloudflare, AWS CloudFront)

 ⅱ. 캐시 저장 기간

   웹사이트에서 설정한 시간에 따라 자동으로 지워지거나, 새 버전으로 갱신됩니다.

   실제로는?
  캐시가 잘 작동하면, 어떤 이미지 하나를 다시 불러올 때 100분의 1 크기만 전송해도 되는 경우도 있습니다.

Ⅲ. 세션(Session) 란?

세션은 쿠키처럼 정보를 저장하지만, 브라우저가 아니라 서버 쪽에 저장됩니다.
사용자가 웹사이트에 로그인했을 때, 서버는 정보(아이디, 권한 등)를 메모리에 저장해두고, 다음 요청이 왔을 때 “이 사람 누구지?” 하고 확인하는 역할을 합니다.

 ⅰ. 세션(Session) 원리

    1) 로그인하면 서버가 세션 키를 생성해서 쿠키로 전달

    2) 그다음 요청부터는 쿠키를 통해 세션 키 전달

    3) 서버는 그 키를 보고 누군지 파악!

 ⅱ. 세션 저장소

    1) 메모리 (빠르지만 휘발성)

    2) Redis (빠르고 안정적)

    3) 데이터베이스 (느리지만 확실함)

 ⅲ. 세션 보안

   1) 자동 로그아웃: 일정 시간 지나면 만료

   2) 디바이스 확인: 기기 정보로 일치 여부 확인

   3) 양자암호 지원: 최신 암호화로 안전하게

Ⅳ. 쿠키(Cookie), 캐시(Cache), 세션(Session) 활용 방법

  웹은 이 3가지(쿠키(Cookie), 캐시(Cache), 세션(Session)ㄱ)를 상황에 맞게 섞어서 사용할 수 있습니다.

  ⅰ. 쿠키 + 캐시
    쿠키 값에 따라 다른 캐시를 저장해서 개인화된 페이지도 빠르게 보여줄 수 있습니다.

  ⅱ. 세션 + 캐시
   로그인 정보는 서버 세션에서 확인하고, 그 외 디자인/이미지는 캐시에서 불러올 수 잇습니다.

Ⅴ. 쿠키(Cookie), 캐시(Cache), 세션(Session) 장점과 주의할 점

기술 장점 주의할 점
쿠키 사용자 정보 기억 너무 많으면 느려져요
캐시 속도를 빠르게 오래된 정보가 나올 수 있어요
세션 로그인 정보 안전하게 유지 및 보관 서버 부담이 커질 수 있어요

 

반응형