12강 / 20강

데이터는 어디에 저장될까 — 브라우저 vs 서버

혼자만의 서랍과 모두의 금고

데이터는 어디에 저장될까 — 브라우저 vs 서버
브라우저 → 요청 → 서버 → DB → 응답 → 브라우저.

웹페이지는 새로고침하면 모든 게 초기화됩니다. 그런데 이상하죠?

  • 다크 모드를 켜 두면 다음에 와도 다크 모드
  • 이 강의의 진도 체크가 유지되는 것도 마찬가지예요

서버에 로그인하지도 않았는데 어떻게 기억할까요? 답은 브라우저 안에도 저장소가 있기 때문입니다.

localStorage

글자 형태의 이름표=값 저장소. 약 5MB. 브라우저를 꺼도 남습니다.

sessionStorage

같지만 탭을 닫으면 사라집니다. 잠깐 쓰는 임시 메모용.

IndexedDB

브라우저 안의 진짜 데이터베이스. 표·인덱스·트랜잭션까지 지원합니다.

Cookie

서버와 자동으로 함께 오가는 작은 쪽지. 로그인 상태 유지에 씁니다. 4KB 정도.

🎮 직접 확인해 보세요

아래 상자에 메모를 저장한 뒤 이 페이지를 새로고침해 보세요. 서버에는 아무것도 보내지 않았는데도 메모가 그대로 남아 있습니다.

localStorage 실험실 — 새로고침해도 살아남습니다
불러오는 중…
브라우저에 저장해도 좋은 것
  • 다크 모드 설정
  • 글자 크기 취향
  • 강의 진도 체크
  • 로그인 전 임시 장바구니
절대 브라우저에만 두면 안 되는 것
  • 회원 정보 · 비밀번호 🚫
  • 실제 주문 · 결제 내역 🚫
  • 성적 · 의료 기록 🚫
  • 여러 사람이 함께 보는 데이터 🚫

그래서 진짜 데이터는 서버로 갑니다

이제 데이터를 내 컴퓨터 밖으로 내보냅니다. 인터넷 어딘가에 있는 컴퓨터, 서버(server)에게 맡기는 거예요.

🖥️ 프론트엔드
브라우저 · 내 화면
  • HTML / CSS / JavaScript
  • 보여주기와 클릭 받기
  • 누구나 들여다볼 수 있음
요청 (Request)
"상품 목록 줘"
응답 (Response)
HTML 또는 JSON
🗄️ 백엔드
서버 · 데이터베이스
  • Python / Flask + SQLite3
  • 판단하고 저장하기
  • 아무도 못 건드림

이 왕복 한 번이 웹의 전부입니다. 여러분이 유튜브에서 영상을 누르는 순간에도 정확히 이 일이 일어나요.

🎮 진짜 서버에 글을 남겨 보세요

아래는 이 강의 서버(Flask + SQLite3)에 실제로 저장되는 방명록입니다. 방금 만진 localStorage 위젯과 결정적으로 다른 점이 있어요 —

  • 글을 남기고 휴대폰으로 이 페이지를 열어 보세요. 똑같이 보입니다.
  • 다른 사람이 남긴 글도 보입니다. 데이터가 공유되고 있다는 증거예요.

글을 쓸 때마다 브라우저가 서버에 보낸 실제 HTTP 요청과 서버가 실행한 실제 SQL이 아래에 표시됩니다.

방명록 — 진짜 서버 DB에 저장됩니다
불러오는 중…
🤔 확인 문제
친구가 남긴 방명록 글이 내 화면에도 보이는 이유는?