📍 지금 어디를 만지고 있나요?
브라우저
⇄
서버
→
Controller
→
Service
→
DB
이 차시의 핵심 용어
클라이언트 (Client)
먼저 "이거 주세요"라고 요청을 보내는 쪽. 카페의 손님에 해당합니다. 우리가 매일 쓰는 크롬·사파리·배달앱·게임이 전부 클라이언트입니다.
서버 (Server)
요청을 묵묵히 기다리다가 응답을 돌려주는 쪽. 카페의 바리스타입니다. 언제 손님이 올지 모르므로 24시간 켜져 있어야 합니다.
요청 (Request)
손님이 가게에 보내는 주문서. "이 페이지 줘", "이 글 저장해줘" 같은 부탁입니다.
응답 (Response)
가게가 손님에게 돌려주는 결과물. HTML 화면, 이미지, JSON 데이터 등이 응답으로 옵니다.
네트워크 (Network)
통신 장비들이 그물망처럼 엮여서 데이터를 주고받는 구조 자체. 손님과 가게가 대화할 수 있는 길.
1. 매일 보는 풍경, 들여다본 적 있나요?
주소창에 naver.com 을 치면 1초 안에 화면이 뜹니다. 그 1초 동안 여러 대의 컴퓨터 사이에서 무슨 일이 일어났을까요?
왜 이걸 알아야 하나
이걸 모른 채로 코드를 짜다가 무언가 안 되면 — 어디에서 막혔는지 짐작할 수가 없습니다. 화면이 안 뜨는데 그 원인이 내 컴퓨터인지, 인터넷인지, 서버인지, 데이터베이스인지를 가려내려면 먼저 「누가 누구에게 무엇을 보내고 받는지」 그림이 머릿속에 있어야 합니다.
좋은 소식: 이 그림은 우리가 매일 카페에서 하는 일과 똑같이 생겼습니다.
2. 웹은 카페와 똑같다
┌─────────────┐ ┌──────────────┐
│ │ "아메리카노 주세요" │ │
│ 손 님 │ ─────────────────────→ │ 바리스타 │
│ (Client) │ (요청) │ (Server) │
│ │ │ │
│ │ ←───────────────────── │ │
│ │ ☕ 한 잔 │ │
└─────────────┘ (응답) └──────────────┘
2-1. 손님은 누구인가요?
손님은 먼저 말을 거는 쪽입니다. 가만히 있는 가게에 "이거 주세요"라고 부탁합니다. 웹에서는:
- 크롬·사파리·엣지 — 가장 흔한 클라이언트(웹 브라우저)
- 배달의민족 앱 — 음식점 서버에게 메뉴를 요청하는 클라이언트
- 카카오톡 앱 — 메시지를 보내고 받는 클라이언트
- 게임 — 매번 게임 서버에 점수를 보내는 클라이언트
한 줄 정리
"먼저 부탁하는 쪽" 이면 모두 클라이언트입니다.
2-2. 가게(서버)는 누구인가요?
서버는 묵묵히 기다리는 쪽입니다. 손님이 언제 올지 모르므로 항상 켜져 있어야 합니다. 웹에서는:
- 네이버 서버 — 검색을 부탁하면 결과를 돌려주는 컴퓨터
- 유튜브 서버 — 영상을 부탁하면 영상 데이터를 돌려주는 컴퓨터
- 은행 서버 — 송금 요청에 응답하는 컴퓨터
⏰ 중요한 차이
서버는 먼저 말을 걸지 않습니다. 손님이 부탁하지 않으면 가만히 있습니다. 인터넷은 항상 클라이언트가 먼저입니다.
3. 요청과 응답 — 두 단계의 반복
웹사이트에서 일어나는 모든 일은 결국 두 단계로 압축됩니다:
1단계. 손님 → 가게: "아메리카노 한 잔 주세요" ← 요청 (Request)
2단계. 가게 → 손님: "여기 있습니다 ☕" ← 응답 (Response)
웹에서 말하는 「요청」은 단순히 "이 페이지 줘" 같은 부탁입니다. 그리고 「응답」은 그 결과로 돌아오는 HTML 화면, 이미지, 데이터입니다.
🎯 외워둘 것
웹의 모든 동작 = 요청(Request) + 응답(Response)의 반복. 이게 끝입니다.
4. 네이버에 접속하는 그 1초
주소창에 naver.com 을 치고 엔터를 누르면, 1초 안에 다음 일이 일어납니다:
① 주소창에 naver.com 입력
│
▼
② 브라우저(클라이언트)가 네이버 서버에게 요청을 보냄
│
▼
③ 네이버 서버가 HTML 화면을 응답으로 돌려줌
│
▼
④ 브라우저가 HTML을 해석해서 그림을 그림
│
▼
⑤ 우리 눈에 네이버 화면이 보임
이게 안 되면 — "인터넷이 안 돼요"가 됩니다. 어느 단계가 문제인지에 따라 해결법이 다르죠. 그래서 흐름을 알아야 합니다.
5. 진짜로 일어나는지 보고 싶다면
크롬을 열고 F12 를 누르세요. 「Network」 탭을 켠 다음 새로고침을 해보면, 한 페이지를 띄우는 데 사실은 수십 번의 요청·응답이 오간다는 걸 직접 볼 수 있습니다.
스크린샷
크롬에서 네이버에 접속한 뒤 F12 → Network 탭. 수십 개의 요청·응답이 줄지어 보임
실습으로 직접 해보기
같은 차시의 실습(Lab) 자료에서 단계별로 따라가며 직접 F12 를 눌러보게 됩니다.
6. 다음 차시로 넘어가기 전에
오늘 우리는 웹은 손님과 가게가 대화하는 사이라는 것까지만 봤습니다. 다음 차시부터는 그 대화에 어떤 「글자」들이 오가는지 — HTTP 라는 약속을 뜯어볼 거예요.
전 차시까지
(없음 — 우리 과정의 첫 차시)
→
이번 차시 끝
웹 = 손님(클라이언트) ↔ 가게(서버) 의 요청·응답이라는 그림이 머릿속에 박혔다.