Computer >> 컴퓨터 >  >> 프로그래밍 >> JavaScript

JavaScript 쿠키란 무엇인가? 개념과 구조 한눈에 이해하기

쿠키(Cookie)란 무엇인가?

웹 브라우저와 서버는 HTTP 프로토콜을 통해 통신하는데, HTTP는 상태를 유지하지 않는(stateless) 프로토콜입니다. 즉, 요청이 끝나면 서버는 사용자에 대한 어떠한 정보도 기억하지 못합니다.

하지만 상업적인 웹사이트라면 여러 페이지에 걸쳐 로그인 상태, 장바구니 내역 등 세션 정보를 지속적으로 유지해야 합니다. 바로 이런 문제를 해결하기 위해 쿠키(Cookie)가 사용됩니다.

쿠키는 사용자의 환경 설정, 구매 기록, 커미션 정보 등 방문자 경험 향상이나 사이트 통계 분석에 필요한 다양한 정보를 저장하고 추적할 수 있는 가장 효율적인 방법입니다.

쿠키의 기본 구조: 5가지 필드

쿠키는 일반 텍스트(plain text) 데이터로, 다음과 같은 5개의 가변 길이 필드로 구성됩니다.

  • Expires (만료일) – 쿠키가 만료되는 날짜입니다. 이 필드가 비어 있으면 방문자가 브라우저를 종료하는 시점에 쿠키가 자동으로 삭제됩니다.
  • Domain (도메인) – 해당 웹사이트의 도메인 이름입니다. 쿠키가 유효한 범위를 지정합니다.
  • Path (경로) – 쿠키를 설정한 디렉터리 또는 웹 페이지의 경로입니다. 모든 디렉터리와 페이지에서 쿠키를 읽어 오도록 하려면 이 필드를 비워 두면 됩니다.
  • Secure (보안) – 이 필드에 "secure"라는 단어가 포함되어 있으면 보안 서버(HTTPS)를 통해서만 쿠키를 가져올 수 있습니다. 필드가 비어 있다면 별도의 제한 없이 일반 연결에서도 접근 가능합니다.
  • Name=Value (이름=값) – 쿠키는 키(key)-값(value) 쌍의 형태로 설정하고 조회됩니다. 예를 들어 username=admin처럼 데이터를 저장합니다.

정리

요약하자면, 쿠키는 상태를 저장하지 않는 HTTP의 한계를 극복하기 위해 클라이언트 측에 작은 텍스트 데이터를 저장하는 메커니즘입니다. 만료일, 도메인, 경로, 보안 옵션 등을 적절히 조합하면 사용자 맞춤형 서비스와 안전한 세션 관리를 구현할 수 있습니다.