IT·테크

쿠키와 세션

놀이공원의 자유이용권 손목 띠와 안내 데스크의 회원 장부처럼, 인터넷에서 '내가 누구인지' 기억해 주는 도구예요.

  • 약 3분
  • 그림 1장
  • 2026-10-13 검증

정의

웹사이트가 사용자를 기억하고 상태를 유지하기 위해 정보를 나누어 보관하는 방식이에요. 쿠키는 사용자 컴퓨터(브라우저)에 직접 저장되는 작은 쪽지이고, 세션은 서버의 비밀 금고에 정보를 두고 사용자에게는 입장 번호표만 건네주는 방식이에요.

손목 도장과 VIP 장부: 왜 기억이 필요할까요?

웹의 기본 통신 규약인 HTTP는 원래 기억상실증에 걸린 사람처럼 동작해요. 방금 로그인 버튼을 눌렀어도, 다음 페이지로 이동하면 서버는 '당신이 누구였더라?' 하고 까맣게 잊어버려요. 페이지를 넘길 때마다 아이디와 비밀번호를 계속 다시 칠 수는 없잖아요.

그래서 웹사이트는 내가 누구인지 표시해 둘 도구가 필요해요. 이때 브라우저에 가벼운 기록 쪽지를 남겨두는 기술이 쿠키(Cookie)예요. 마치 놀이공원에 재입장할 때 보여주는 손등 도장처럼, 브라우저가 매번 웹 서버에 쪽지를 내밀며 '저 아까 로그인한 사람이에요'라고 알려주는 거예요.

하지만 중요한 비밀번호나 개인정보를 사용자 컴퓨터에 그대로 적어두면 누군가 훔쳐볼 위험이 커요. 그래서 중요한 정보는 서버가 직접 비밀 장부에 기록하고 관리하는데, 이 방식을 세션(Session)이라고 불러요.

쿠키와 세션, 어떻게 역할을 나눌까요?

쿠키는 사용자의 기기(웹 브라우저)에 파일 형태로 직접 저장돼요. '오늘 하루 이 창 다시 열지 않기' 설정이나 장바구니에 담아둔 물건 목록 같은 편의 기능에 쓰이고, 뒤에서 설명할 로그인 번호표(세션 아이디)를 보관하는 데도 쓰여요. 서버의 저장 공간을 차지하지 않아서 서버의 부담을 덜어주는 장점이 있어요.

반면에 세션은 실제 정보(이름, 등급, 결제 상태)를 서버 내부 메모리나 데이터베이스에만 보관해요. 대신 사용자 브라우저에는 '당신은 77번 손님입니다'라고 적힌 세션 아이디(Session ID)라는 번호표만 쥐여줘요.

손님이 번호표를 들고 오면, 서버는 내부 장부에서 77번 서랍을 열어 그 손님의 상태를 확인해요. 이렇게 하면 중요한 개인정보가 브라우저에 남지 않고 서버 안에만 머물기 때문에 더 안전해요. 다만 번호표(세션 아이디)를 도둑맞으면 남이 내 행세를 할 수 있어서, 사이트는 암호화 통신(HTTPS)과 쿠키 보안 설정으로 번호표를 보호하고 일정 시간이 지나면 만료시켜요.

조금 더 정확히 말하면: 둘은 대립하는 라이벌이 아니에요

흔히 쿠키와 세션을 완전히 별개의 경쟁 기술로 생각하기 쉬워요. 하지만 사실 세션은 대부분 쿠키의 도움을 받아 동작해요. 서버가 손님에게 발급한 세션 번호표를 손님의 브라우저에 저장하고 매번 꺼내 보여줄 때 흔히 쓰는 수단이 바로 쿠키이기 때문이에요. 번호표를 주소(URL)에 붙여 다니는 방법도 있지만, 남에게 노출되기 쉬워 잘 쓰지 않아요.

만약 브라우저 설정에서 쿠키 기능을 완전히 꺼버리면 어떻게 될까요? 서버가 아무리 세션 번호표를 만들어 보내줘도 브라우저가 저장하지 못해서, 쿠키에 기대는 사이트에서는 페이지를 이동하자마자 로그인이 풀려버려요.

조금 더 정확히 말하면, 최근에는 모바일 앱과 여러 서버를 유연하게 잇기 위해 토큰(Token) 기반 인증처럼 서버가 장부를 따로 두지 않는 방식도 많이 써요. 하지만 웹 브라우저가 상태를 기억하는 기본 뿌리에는 여전히 쿠키와 세션의 협력이 자리 잡고 있어요.

흔한 오해

오해

쿠키는 컴퓨터를 해킹하고 고장 내는 악성 바이러스의 일종이다.

사실

쿠키는 단순한 텍스트 데이터일 뿐이라 스스로 프로그램을 실행하거나 바이러스를 퍼뜨릴 수 없어요. 다만 방문 기록이나 검색 습관을 추적하는 데 쓰일 수 있고, 로그인 정보가 담긴 쿠키를 도둑맞으면 남이 내 계정에 접근할 수 있어 주의가 필요해요.

일상에서 만나요

  1. 쇼핑몰에서 로그인하지 않고 장바구니에 옷을 담아둔 뒤, 며칠 뒤 사이트에 다시 들어가도 장바구니가 유지되는 것은 쿠키 덕분이에요.

  2. 은행 사이트에서 로그인 후 한동안 아무런 클릭도 하지 않았을 때 '보안을 위해 자동 로그아웃되었습니다'라고 뜨는 것은 세션 만료 기능이에요.

그러니까 한마디로

쿠키는 내 컴퓨터에 남겨두는 메모 쪽지이고, 세션은 서버가 보관하는 안전한 장부예요. 둘은 함께 손을 잡고 웹사이트의 로그인과 상태를 유지해 줘요.

제작 2026-05-26 갱신 2026-10-13 검증 2026-10-13