Ch.9 바이브코더 용어집 — 웹 · 아키텍처 · 보안

웹의 기본 구조

Client와 Server의 역할을 구분한다HTTP 요청/응답 사이클을 설명한다DNS, Port, CDN 등 웹 인프라 용어를 이해한다

웹사이트에 접속하면 무슨 일이 벌어질까?

주소창에 URL을 입력하고 엔터를 누르면, 화면이 나타납니다. 단 1초 안에 수십 개의 과정이 일어나고 있습니다.

브라우저와 서버 사이에서 정확히 무슨 일이 일어나는 걸까?

클라이언트가 요청하고, 서버가 응답합니다. 웹의 기본 구조를 용어와 함께 알아봅시다.


article

핵심 내용

웹은 식당과 같습니다. 손님이 주문하고, 주방이 요리합니다

AI 개발자에게 웹 지식이 왜 필요할까요? ChatGPT도, Claude도, 결국 웹을 통해 사용자와 만납니다. 여러분이 만든 AI 모델이 아무리 뛰어나도, 웹으로 전달하지 못하면 아무도 쓸 수 없습니다. 이번 섹션에서는 '주소창에 URL을 입력하고 엔터를 누르면 1초 안에 벌어지는 일'을 하나씩 풀어봅니다.

브라우저(손님)가 서버(주방)에 요청(주문)을 보내면, 서버가 응답(요리)을 돌려줍니다. 이 단순한 주고받기가 웹의 전부입니다.

Client, Server, HTTP, Request, Response, URL, DNS, Port, IP, Protocol, CDN

웹의 가장 기본적인 구조는 '묻는 쪽'과 '답하는 쪽'입니다. 이 두 역할만 이해하면 웹의 절반을 아는 셈입니다. 재미있는 건, 우리가 Ch8에서 만든 TinyLM도 서버에 올리면 '답하는 쪽'이 됩니다. AI 모델을 서빙(serving)한다는 것이 바로 이것입니다.

Client(클라이언트) — 서비스를 요청하는 쪽입니다. 브라우저, 앱, 심지어 AI 에이전트도 클라이언트가 될 수 있습니다. 식당의 '손님'이죠.

Server(서버) — 요청을 받아 처리하고 응답하는 컴퓨터입니다. 24시간 켜져 있는 주방과 같습니다. '서빙하다(serve)'에서 온 이름입니다.

HTTP/HTTPS — 클라이언트와 서버가 대화하는 규칙(프로토콜)입니다. HTTP는 평문, HTTPS는 암호화된 버전입니다. 'S'는 Secure(보안)입니다.

Request(요청) — 클라이언트가 보내는 메시지. '이 페이지 주세요!' Response(응답) — 서버가 돌려보내는 메시지. '여기 있습니다!'

Client = 요청하는 쪽 (브라우저, 앱) Server = 응답하는 쪽 (24시간 대기 컴퓨터) HTTP = 대화 규칙 / HTTPS = 암호화된 대화 Request → Response = 웹의 기본 사이클

클라이언트가 서버에 요청을 보내려면 먼저 '주소'를 알아야 합니다. 현실에서 배달을 시키려면 식당 위치를 알아야 하듯, 인터넷에서도 서버의 정확한 위치를 찾아가는 체계가 필요합니다. 이 주소 체계가 바로 URL, DNS, IP, Port입니다. 하나씩 뜯어봅시다.

URL(Uniform Resource Locator) — 웹 자원의 주소입니다. `https://www.example.com:443/page?q=hello` 처럼 프로토콜, 도메인, 포트, 경로, 쿼리가 합쳐진 것입니다.

Domain(도메인) — 사람이 읽을 수 있는 서버 이름입니다. `google.com` 같은 것. 실제로는 숫자(IP)로 변환되어야 합니다.

DNS(Domain Name System) — 도메인을 IP 주소로 바꿔주는 전화번호부입니다. `google.com` → `142.250.196.110` 으로 변환해줍니다.

IP(Internet Protocol) 주소 — 인터넷에서 컴퓨터의 고유 번호입니다. 집 주소와 같습니다. Port(포트) — 같은 컴퓨터 안에서 서비스를 구분하는 번호입니다. 아파트 호수와 같습니다. HTTP=80, HTTPS=443.

URL = 프로토콜 + 도메인 + 포트 + 경로 DNS = 도메인 → IP 변환 (인터넷 전화번호부) IP = 컴퓨터의 고유 주소 (집 주소) Port = 서비스 구분 번호 (호수)

지금까지 '어디로(URL), 어떻게 찾아가고(DNS→IP), 몇 호실인지(Port)'를 배웠습니다. 이번에는 '어떤 언어로 대화하는지(Protocol)'와, 개발자가 매일 쓰는 특별한 주소 두 가지를 알아봅시다.

Protocol(프로토콜) — 통신 규칙입니다. HTTP, FTP, WebSocket 등이 있습니다. '우리 이렇게 대화하자'는 약속입니다.

Localhost — 내 컴퓨터 자체를 가리키는 특별한 주소입니다. `localhost:3000`은 '내 컴퓨터의 3000번 포트'라는 뜻입니다. 개발할 때 항상 씁니다.

CDN(Content Delivery Network) — 전 세계에 퍼져 있는 서버 네트워크입니다. 한국 사용자는 한국 서버에서, 미국 사용자는 미국 서버에서 파일을 받으니 빠릅니다. 편의점 체인과 같습니다.

Protocol = 통신 약속 (HTTP, WebSocket 등) Localhost = 내 컴퓨터 (개발 서버) CDN = 전 세계 분산 서버 (빠른 전송)

개념만 알면 반쪽입니다. Python으로 직접 웹 요청을 보내봅시다. 아래 코드 한 줄이면 클라이언트가 되어 서버에 요청을 보내고 응답을 받을 수 있습니다. 이것이 바로 Ch10에서 배울 OpenAI API 호출의 기초이기도 합니다.

import requests

# 서버에 GET 요청 보내기 (조회)
response = requests.get("https://jsonplaceholder.typicode.com/posts/1")

print(response.status_code)  # 200 (성공!)
print(response.json())       # 서버가 돌려준 JSON 데이터
# → {'userId': 1, 'id': 1, 'title': '...', 'body': '...'}

`requests.get()`이 바로 Client → Server 요청입니다. URL 안에 프로토콜(https), 도메인(jsonplaceholder.typicode.com), 경로(/posts/1)가 모두 들어있죠. `response.status_code`가 200이면 성공, `response.json()`으로 응답 데이터를 받습니다. 이게 웹의 전부입니다.

이 한 줄의 코드 안에 Client, Server, HTTP, URL, Request, Response, JSON이 모두 들어있습니다

도메인 이름을 IP 주소로 변환해주는 시스템은?

HTTPS의 S가 의미하는 것은?

localhost:3000에서 3000은 무엇인가?

웹에서 클라이언트가 서버에 요청을 보내고, 서버가 응답을 돌려준다

웹의 기본 구조

edit_note

정리 노트

웹의 기본 구조 한눈에 정리

Client & Server

Client
서비스를 요청하는 쪽 (브라우저, 앱)
Server
요청을 받아 응답하는 쪽 (24시간 대기 컴퓨터)
Request → Response
웹의 기본 사이클 — 요청하고 응답받기

주소 체계

URL
프로토콜 + 도메인 + 포트 + 경로로 구성된 웹 주소
DNS
도메인을 IP 주소로 변환하는 인터넷 전화번호부
IP / Port
IP = 컴퓨터의 고유 주소, Port = 서비스 구분 번호

프로토콜 & 인프라

HTTP / HTTPS
대화 규칙. HTTPS는 암호화된 버전 (S = Secure)
Localhost
내 컴퓨터 자체를 가리키는 주소 (개발 서버)
CDN
전 세계 분산 서버 네트워크 (빠른 전송)

Client가 요청하고 Server가 응답한다 — 이 한 문장이 웹의 전부입니다

image

시각 자료

check_circle

핵심 정리

  • 1Client(요청) ↔ Server(응답)가 웹의 기본
  • 2DNS는 도메인 → IP 변환 (인터넷 전화번호부)
  • 3HTTPS는 암호화된 HTTP, CDN은 글로벌 분산 서버

퀴즈와 인터랙션으로 더 깊이 학습하세요

play_circle인터랙티브 레슨 시작