◇ PART · WEB
정적 vs 동적 / WAS
웹의 동작 원리 — 화면이 매번 달라지는 비밀
학습 목표
- 정적 페이지와 동적 페이지의 차이를 구별할 수 있다
- 웹서버와 WAS(Tomcat) 의 분업을 안다
- 우리가 Tomcat 을 쓰는 이유를 설명할 수 있다
⚠️ 어디가 답답한가
두 화면의 차이
회사 소개 페이지 — 누가 봐도 항상 같은 내용.
네이버 메인 — 새로고침할 때마다 뉴스가 바뀐다.
같은 HTML 인데 어떻게 한쪽은 고정이고 한쪽은 매번 다를 수 있을까요?
🛠️ 두 종류의 페이지
📄 정적(Static)
파일이 이미 만들어져 있음. 서버는 그대로 꺼내 보냄.
예: 회사 소개, FAQ, 약관
⚡ 동적(Dynamic)
요청을 받은 그 순간 새로 만들어짐. 누가·언제 요청했느냐에 따라 다름.
예: 네이버 메인, 게시판, 마이페이지
역할 분업 — 웹서버 vs WAS
┌──────────────┐
│ 웹서버 │ ← 정적 파일 담당 (Apache, Nginx)
│ (Static) │ 이미 만들어진 HTML/CSS/이미지
└──────┬───────┘
│
┌──────▼───────┐
│ WAS │ ← 동적 처리 담당 (Tomcat)
│ (Dynamic) │ 요청을 받아 그때그때 HTML 만듦
└──────────────┘
큰 사이트는 둘을 나란히 둡니다. 우리 과정은 작으니 Tomcat 하나로 둘 다 처리합니다.
🛠️ Tomcat — 우리의 동적 엔진
- 자바 코드 + JSP 를 해석해서 HTML 을 즉석에서 생성
- DB 에서 가져온 데이터를 화면에 끼워 넣어줌
- Spring 프로젝트는 항상 Tomcat 같은 WAS 가 필요
흐름으로 보기
[정적 페이지 요청]
브라우저 → 웹서버 → 디스크의 HTML 파일 그대로 → 브라우저
(단순)
[동적 페이지 요청]
브라우저 → WAS → 자바 코드 실행 → DB 조회 → HTML 조립 → 브라우저
(Spring 의 Controller, Service, Mapper 가 이 안에)
앞으로 우리가 만들 모든 코드는 아래 줄(WAS 안)에서 실행됩니다.
🔄 Before / After
전 차시 끝
HTTP 메시지가 어떻게 생겼는지 알지만, 응답 HTML 이 어디서 나오는지 모름.
→
이번 차시 끝
정적 / 동적의 차이를 알고, 우리 Spring 코드가 결국 Tomcat 안에서 돌아간다는 걸 안다.
이번 차시의 데이터 흐름
브라우저
→
Tomcat
(WAS)
→
자바 코드
(다음 차시)
● 「Tomcat」이라는 박스가 우리 코드의 집으로 자리잡았습니다
정리
오늘 들고 가는 것
- 정적 = 이미 만들어진 파일 / 동적 = 그때그때 만듦
- 웹서버는 정적, WAS(Tomcat) 은 동적
- 우리 Spring 코드는 Tomcat 안에서 돈다
다음 차시: ★ Hello Servlet (v0) — 우리 프로젝트의 첫 시작점.