가이드

쿠키란 무엇인가요? 웹사이트가 나를 기억하는 방법

쿠키는 웹사이트가 브라우저에 저장해 달라고 요청하고, 그 사이트를 이후에 방문할 때마다 다시 보내는 작은 텍스트 조각입니다. 웹사이트가 나를 "기억"하는 방식, 즉 로그인 상태, 장바구니에 담긴 것, 선택한 언어를 기억하는 방식이 바로 이것입니다. 쿠키는 프로그램이 아니라 데이터일 뿐이지만, 사용자를 식별할 수 있기 때문에 보안과 개인정보 보호 모두에 중요합니다.

AI로 만들 때 쿠키가 중요한 이유

쿠키는 AI 빌더에게 요청하게 될 여러 기능의 밑바닥에 있으며, "쿠키"라는 단어가 나오지 않는 경우도 많습니다.

  • 로그인. 대부분의 웹 앱에서 "로그인 상태 유지"는 세션 쿠키를 의미합니다. 이 쿠키를 어떻게 설정했는지에 따라 도난이 얼마나 쉬운지가 결정됩니다.
  • 장바구니와 설정. 페이지를 새로고침해도 유지되는 장바구니는 보통 쿠키나 브라우저 저장소에 의존합니다.
  • 분석과 광고. Google Analytics, Meta 픽셀, 채팅 위젯을 추가하면 보통 다른 회사의 쿠키가 함께 추가됩니다.
  • 법적 고지. 많은 곳에서 일부 쿠키는 방문자의 동의가 먼저 필요하며, 쿠키 배너가 생기는 이유가 바로 여기에 있습니다.

앱이 어떤 쿠키를 설정하고 왜 설정하는지 알고 있다면, 보안 설정, 동의, 개인정보 처리방침에 대해 더 나은 선택을 할 수 있습니다.

일상적인 비유

휴대품 보관소의 번호표를 떠올려 보세요. 외투를 맡기면 번호표를 받습니다. 번호표에는 외투가 들어 있지 않고 숫자만 있습니다. 카운터에 돌아올 때마다 번호표를 보여 주면 직원은 어떤 외투가 여러분의 것인지 알 수 있습니다.

세션 쿠키도 같은 방식으로 작동합니다. 로그인하면 서버가 여러분의 정보를 서버 쪽에 보관하고, 브라우저에 번호표 같은 긴 무작위 ID를 줍니다. 브라우저는 모든 요청에 그 번호표를 보여 주고, 서버는 여러분이 누구인지 찾아봅니다. 번호표를 복사한 사람은 외투를 찾아갈 수 있으므로, 로그인 쿠키는 보호되어야 합니다.

쿠키가 실제로 작동하는 방식

  1. 사이트를 방문합니다. 서버의 응답에는 Set-Cookie: session_id=8f3k...; HttpOnly; Secure; SameSite=Lax 같은 헤더가 포함됩니다.
  2. 브라우저는 그 사이트의 도메인에 연결해 쿠키를 저장합니다.
  3. 같은 사이트로 이후 요청을 할 때마다 브라우저는 자동으로 Cookie: session_id=8f3k...를 추가합니다.
  4. 서버는 그 값을 읽고 여러분이 누구인지 압니다.

페이지의 JavaScript도 쿠키를 만들 수 있지만, 가장 중요한 쿠키인 로그인 세션은 서버가 설정하고 JavaScript에서 보이지 않게 숨겨야 합니다.

쿠키의 종류

종류의미예시
세션 쿠키만료일이 없으며 브라우저 세션이 끝나면 삭제됨짧게 유지되는 결제 단계
지속 쿠키만료일(Expires 또는 Max-Age)이 있으며 재시작 후에도 유지됨"30일 동안 기억하기"
자사 쿠키주소창에 표시된 사이트가 설정해당 사이트의 로그인
제3자 쿠키페이지에 삽입된 다른 도메인이 설정광고 네트워크의 추적 ID
필수 쿠키사용자가 요청한 서비스에 필요함로그인 세션, 쇼핑 카트
필수가 아닌 쿠키사이트 운영자에게 있으면 좋은 것분석, 광고, A/B 테스트

브라우저들은 사람들을 웹사이트 간에 추적하는 데 쓰인다는 이유로 제3자 쿠키를 계속 제한해 왔습니다. 이제 주요 브라우저 여러 곳이 기본값으로 많은 제3자 쿠키를 차단하며, 세부 사항은 계속 바뀌므로 중요한 것은 제3자 쿠키에 기대어 만들지 마세요.

사례: 작은 온라인 상점

수제 양초를 파는 상점을 만들었다고 가정해 봅시다. 합리적인 버전이라면 다음과 같은 쿠키를 설정할 것이며, 그 이유는 아래와 같습니다.

session — 운영자나 고객이 로그인할 때 설정됩니다. 무작위 ID만 담고, 실제 세션 데이터는 서버가 보관합니다. 설정: HttpOnly(페이지 스크립트가 읽을 수 없음), Secure(오직 HTTPS로만 전송), SameSite=Lax(다른 사이트에서 시작된 대부분의 요청에는 전송되지 않음). 필수 쿠키입니다.

cart_id — 로그인하지 않은 방문자가 장바구니를 유지할 수 있게 합니다. 데이터베이스에 저장된 카트를 가리킵니다. 방문자가 카트에 담기를 요청한 것이므로 필수 쿠키입니다.

theme — 다크 모드를 기억합니다. 쿠키로 만들 수도 있지만 서버에 전달될 필요가 전혀 없으므로, 브라우저 localStorage가 더 간단합니다.

분석 쿠키 — 분석 도구를 설치하면 추가됩니다. 이는 필수가 아닌 쿠키입니다. EU와 영국에서는 보통 설정 전에 동의가 필요하므로, 방문자가 "수락"을 클릭할 때까지 분석 스크립트가 기다려야 합니다.

상점이 쿠키에 저장하지 않는 것이 무엇인지도 주목하세요. 고객의 이름, 주소, 카드 정보입니다. 쿠키는 모든 요청과 함께 전송되고 사용자의 기기에 남아 있으므로, 개인 데이터가 아니라 ID를 담아야 합니다.

자주 쓰는 용어 설명

용어의미
쿠키브라우저가 저장하고 사이트로 다시 보내는 작은 이름-값 쌍.
Set-Cookie서버가 쿠키를 만들거나 갱신할 때 사용하는 응답 헤더.
세션로그인한 사용자에 대한 서버의 기록이며, 쿠키 ID와 연결됨.
HttpOnly페이지 JavaScript가 쿠키를 읽지 못하게 하여, 주입된 스크립트로 인한 피해를 제한함.
Secure쿠키가 암호화된 HTTPS 연결에서만 전송됨.
SameSite다른 사이트에서 보낸 요청에 쿠키를 함께 보낼지 제어함(Strict, Lax, None).
Expires / Max-Age쿠키가 삭제되어야 할 시점.
Domain / Path사이트의 어떤 주소가 쿠키를 받을지.
localStorage페이지 코드가 읽을 수 있지만 서버로 자동 전송되지 않는 브라우저 저장소.
XSS교차 사이트 스크립팅: 공격자의 스크립트가 여러분의 페이지에서 실행되어 데이터를 훔치려 하는 공격.
CSRF교차 사이트 요청 위조: 다른 사이트가 브라우저를 속여 여러분의 쿠키를 담은 요청을 보내게 하는 공격.
쿠키 동의필수가 아닌 쿠키를 설정하기 전에 방문자의 허락을 구하는 것.

흔한 실수와 오해

  • "쿠키는 바이러스다." 쿠키는 평범한 텍스트입니다. 컴퓨터에서 코드를 실행할 수 없습니다.
  • 쿠키에 민감한 데이터를 넣는 것. 무작위 ID만 저장하고, 세부 정보는 서버에 보관하세요.
  • localStorage에 로그인 토큰을 넣는 것. 페이지에서 실행되는 모든 스크립트, 주입된 스크립트를 포함해 localStorage를 읽을 수 있습니다. HttpOnly 쿠키는 페이지 스크립트가 전혀 읽을 수 없습니다.
  • Secure와 HttpOnly를 빠뜨리는 것. 이 두 플래그는 비용이 거의 들지 않으며 흔한 허점을 막아 줍니다.
  • 배너가 모든 것을 다룬다고 가정하는 것. 누군가 "수락"을 클릭하기 전에 분석 도구를 불러오는 배너는 제 역할을 하지 못합니다.
  • 로그아웃을 잊는 것. 로그아웃은 쿠키를 삭제하는 동시에 서버에서도 세션을 끝내야 복사된 쿠키가 작동하지 않습니다.
  • "쿠키를 쓰지 않으면 개인정보 규칙이 적용되지 않는다." GDPR 같은 규칙은 개인 데이터가 어디에 저장되든 적용됩니다. 로컬 저장소, 기기 지문, 서버 로그도 포함됩니다.

AI 빌더에게 무엇을 요청할까요

  • "앱이 설정하는 모든 쿠키의 목록, 용도, 유지 기간, 필수 여부를 알려 주세요."
  • "로그인 세션에는 HttpOnly, Secure, SameSite=Lax 쿠키를 사용하세요. 인증 토큰은 localStorage에 넣지 마세요."
  • "쿠키에는 무작위 세션 ID만 담고, 세션 데이터는 서버에 저장하세요."
  • "로그아웃 시 쿠키를 지우고 서버에서 세션을 무효화하세요."
  • "방문자가 수락하기 전에는 분석이나 마케팅 스크립트를 불러오지 말고, 방문자의 선택을 기억하세요."
  • "위 목록과 일치하는 간단한 쿠키 섹션을 개인정보 처리방침에 추가하세요."

동의 부분은 쿠키 동의를 추가하는 방법을 참고하세요. 쿠키가 로그인과 어떻게 연결되는지는 인증이란 무엇인가를 읽어 보세요.

Mythex의 쿠키

Mythex는 앱 사용자를 위한 로그인 기능을 기본으로 제공하지 않으므로, 앱이 설정하는 쿠키는 앱의 자체 코드와 여러분이 추가한 도구에서 나옵니다. 예를 들어 선택한 인증 방식의 세션 쿠키가 있습니다. 채팅에서 에이전트에게 쿠키 목록을 보여 달라고 하거나, 설정을 강화하거나, 동의 배너를 추가해 달라고 요청하고, 게시하기 전에 실시간 미리보기에서 결과를 확인하세요. 문서의 앱에 로그인 추가하기 레시피는 좋은 시작 프롬프트이며, 만든 앱의 보안에서는 키와 비밀 정보를 브라우저 밖에 두는 방법을 다룹니다.

자주 묻는 질문

웹사이트의 쿠키란 무엇인가요?

쿠키는 웹사이트가 브라우저에 저장해 달라고 요청하는 작은 텍스트 조각입니다. 브라우저는 그 사이트에 이후 요청을 보낼 때마다 쿠키를 함께 보내며, 이를 통해 사이트는 로그인 여부나 장바구니에 무엇이 있는지 같은 것을 기억할 수 있습니다.

쿠키는 위험한가요?

쿠키는 프로그램이 아니라 데이터일 뿐이므로 코드를 실행하거나 컴퓨터를 감염시킬 수 없습니다. 문제가 되는 것은 개인정보 보호이며, 제3자 쿠키가 여러 사이트에서 나를 추적할 때와, 로그인 쿠키가 도난당해 나를 사칭하는 데 쓰일 때 보안상 문제가 됩니다.

자사 쿠키와 제3자 쿠키의 차이는 무엇인가요?

자사 쿠키는 주소창에 표시된 사이트가 설정하는 쿠키이며, 예를 들어 로그인 쿠키가 있습니다. 제3자 쿠키는 페이지에 삽입된 다른 도메인, 예를 들어 광고 네트워크가 설정하는 쿠키이며, 종종 여러 사이트에 걸쳐 나를 따라다니는 데 사용됩니다.

쿠키 배너가 필요한가요?

사용자가 어디에 있는지, 그리고 어떤 쿠키를 쓰는지에 따라 다릅니다. EU와 영국에서는 분석이나 광고 같은 필수가 아닌 쿠키는 보통 먼저 동의가 필요하지만, 로그인 세션처럼 서비스에 꼭 필요한 쿠키는 보통 필요하지 않습니다. 자신에게 적용되는 규칙을 확인하세요.

쿠키와 localStorage의 차이는 무엇인가요?

둘 다 브라우저에 데이터를 저장합니다. 쿠키는 모든 요청마다 자동으로 서버에 전송되므로 로그인에 적합합니다. localStorage는 브라우저에 머물며 해당 페이지의 자체 코드만 읽으므로, 테마 같은 설정에 적합합니다.

Mythex · Pricing · AI로 무엇이든 만들기 · 웹사이트 및 앱 템플릿 · Mythex 비교 · AI 앱 개발 용어집 · 무료 AI 앱 개발 도구 · English

English አማርኛ العربية Български বাংলা Bosanski Català Čeština Dansk Deutsch Ελληνικά Español Español (España) Eesti فارسی Suomi Français Français (Canada) ગુજરાતી हिन्दी Hrvatski Magyar Հայերեն Bahasa Indonesia Íslenska Italiano 日本語 ქართული Қазақ тілі ಕನ್ನಡ Lietuvių Latviešu Македонски മലയാളം Монгол मराठी Bahasa Melayu မြန်မာ Norsk bokmål Nederlands ਪੰਜਾਬੀ Polski Português (Brasil) Português (Portugal) Română Русский Slovenčina Slovenščina Soomaali Shqip Srpski Svenska Kiswahili தமிழ் తెలుగు ไทย Tagalog Türkçe Українська اردو Tiếng Việt 简体中文 繁體中文(香港) 繁體中文(台灣)