KSCOLD LogoKSCOLD
Blog
Feed
Product
Admin Night
Vault
Guestbook
Info

Vault 목록

쿠키(Cookie)

연결된 노트와 함께 읽기

쿠키(Cookie)

2026년 5월 17일
  • 요청에는 한 가지 단점이 있는데 IP주소와 브라우저 정보 정도만 알지 누가 요청을 보냈는지 모른다는 것이다.

  • 따라서 로그인과 같은 서비스를 구현하는데 쿠키와 세션(Session)이 필요하다.

  • 쿠키는 클라이언트(브라우저) 로컬에 저장되는 key:value의 쌍이 들어있는 작은 데이터 파일이다.

  • 사용자 인증이 유효한 시간을 명시할 수 있으며, 유효 시간이 정해지면 브라우저가 종료되어도 인증이 유지된다는 특징이 있다.

  • 쿠키는 클라이언트의 상태 정보를 로컬에 저장했다가 참조한다.

  • 클라이언트에 300개까지 쿠키저장 가능, 하나의 도메인당 20개의 값만 가질 수 있음, 하나의 쿠키값은 4KB까지 저장한다.

  • Response Header에 Set-Cookie 속성을 사용하면 클라이언트에 쿠키를 만들 수 있다.

  • 쿠키는 사용자가 따로 요청하지 않아도 브라우저가 Request시에 Request Header를 넣어서 자동으로 서버에 전송한다.

  • 즉, 매 요청마다 서버에 동봉해서 보낸다.

  • 서버는 쿠키를 읽어 누구인지 파악한다.

  • 예를 들어 방문 사이트에서 로그인 시, "아이디와 비밀번호를 저장하시겠습니까?"와 같이 사용자 정보 저장이나 쇼핑몰의 장바구니 기능 혹은 자동로그인, 팝업에서 "오늘 더 이상 이 창을 보지 않음" 체크 및 쇼핑몰의 장바구니 등이 있다.

쿠키를 사용하는 이유

  • 세션(Session)은 서버(Server)의 자원을 사용하기 때문에 무분별하게 만들다보면 서버(Server)의 메모리가 감당할 수 없어질 수가 있고 속도가 느려질 수 있기 때문에 쿠키가 유리한 경우가 있다.

쿠키의 구성 요소

이름 

  • 각각의 쿠키를 구별하는 데 사용되는 이름이다.

값

  • 쿠키의 이름과 관련된 값이다.

유효시간

  • 쿠키의 유지시간이다.

도메인

  • 쿠키를 전송할 도메인이다.

경로

  • 쿠키를 전송할 요청 경로이다.

쿠키의 동작 과정

  1. 클라이언트가 페이지를 요청한다.
  2. 서버에서 쿠키를 생성한다.
  3. HTTP(Hyper Tranfer Protocol) 헤더에 쿠키를 포함 시켜 응답한다.
  4. 브라우저가 종료되어도 쿠키 만료 기간이 있다면 클라이언트에서 보관하고 있다.
  5. 같은 요청을 할 경우 HTTP(Hyper Tranfer Protocol) 헤더에 쿠키를 함께 보낸다.
  6. 서버에서 쿠키를 읽어 이전 상태 정보를 변경 할 필요가 있을 때 쿠키를 업데이트 하여 변경된 쿠키를 HTTP 헤더에 포함시켜 응답한다.

![Pasted image 20240323212657.png](Pasted image 20240323212657.png)

Synapse Map Insight