# 용어 사전 (수강생 배포용 — 비개발자 버전)

> 오늘 강의에 나온 단어만, 비유와 함께. 이 단어들을 알면 AI에게 정확히 시킬 수 있습니다.

## 기본 그림

- **웹 서버** — 요청이 오면 응답(페이지·데이터)을 돌려주는 **프로그램**. 컴퓨터가 건물이라면 웹 서버는 안내데스크 직원. Caddy가 여기에 속한다.
- **Caddy** — 오늘의 주인공. 자물쇠(HTTPS)가 자동으로 달리는 웹 서버. 설정이 몇 줄로 끝나서 "자동변속기"에 비유했다.
- **리버스 프록시** — 밖에서 온 손님(요청)을 대신 받아 안쪽의 알맞은 방(서비스)으로 안내하는 **문지기**. Caddy의 핵심 기능.
- **localhost** — "내 컴퓨터"라는 뜻의 특수한 주소. 이 주소로 열리는 것은 **내 화면에서만** 보인다 — 링크를 남에게 보내도 상대방에겐 상대방의 컴퓨터가 열릴 뿐.

## 주소와 연결

- **도메인** — `mysite.com` 같은 사람용 이름. 등록업체에서 연 1~2만원대에 구입한다.
- **IP 주소** — 컴퓨터용 번호 주소. 사람은 도메인을, 컴퓨터는 IP를 쓴다.
- **DNS** — 도메인(이름)을 IP(번호)로 바꿔주는 인터넷의 **주소록**(전화번호부). 도메인을 사면 이 주소록에 "내 도메인 = 내 서버"를 등록한다.
- **포트** — 한 건물(컴퓨터)에 달린 **문 번호**. `localhost:3000`의 `:3000`이 이것. 웹의 정문은 80(일반)과 443(자물쇠) — 관례라서 브라우저가 알아서 찾아간다.
- **경로 라우팅** — 주소 뒤의 경로(`/a`, `/menu`)를 보고 문지기가 손님을 다른 방으로 안내하는 것. 호텔 프런트의 교통정리.

## 자물쇠 (HTTPS)

- **HTTPS** — 주소창의 자물쇠 아이콘. "이 사이트는 진짜고, 오가는 내용은 암호화된다"는 표시. 요즘 웹의 기본 예의라서 없으면 브라우저가 경고한다.
- **인증서** — 자물쇠의 실체인 전자 신분증. "이 사이트는 진짜 이 주소의 주인이 운영한다"는 보증서로, 발급 기관(CA)이 발급한다.
- **Let's Encrypt** — 무료로 인증서를 발급해주는 대표 기관. Caddy가 알아서 여기서 받아온다 (원래는 사람이 90일마다 갱신해야 했다).
- **연습용 인증서(내부 CA)** — 실습에서 localhost용으로 Caddy가 **스스로 만든** 자물쇠. 브라우저가 처음 보는 발급자라 경고를 띄우는 게 정상 — 내가 방금 띄운 사이트니 안전하다. 단, **모르는 사이트**에서 같은 경고가 뜨면 들어가지 말 것.

## 실습 도구

- **Docker** — 앱을 **도시락통(컨테이너)**에 담아 어디서든 똑같이 실행하는 도구. 설치·설정 지옥을 건너뛰게 해준다.
- **Docker Desktop** — Docker를 쓰기 위해 설치하는 프로그램 (Windows/Mac).
- **docker compose** — 도시락통 여러 개(오늘은 Caddy + 앱들)를 설정 파일 하나로 한 번에 켜고 끄는 명령. `up`이 켜기, `down`이 끄기.
- **Caddyfile** — Caddy의 설정 파일. "어느 주소로 오면 어디로 안내하라"를 몇 줄로 적는다.

## 보여주는 방법들

- **배포 서비스 (Vercel 등)** — 페이지·앱을 올리면 주소와 자물쇠까지 자동으로 처리해주는 서비스. **보여주기만 할 것**이면 이게 가장 쉽다. 단, 24시간 계속 돌아야 하는 것·내 컴퓨터의 파일을 다루는 것은 못 올린다.
- **서버 호스팅 (VPS)** — 월 5천원~ 정도에 빌리는, 24시간 켜져 있는 남의 컴퓨터. 내 컴퓨터를 켜둘 수 없을 때의 선택지.
- **웹훅 / 챗봇 상시 실행** — "계속 돌아야 하는 것"의 대표 사례. 이런 게 생기는 순간이 오늘 배운 구조(내 컴퓨터 + Caddy)가 필요해지는 순간이다.

## AI에게 시킬 때 쓰는 문장

- "Docker로 Caddy를 띄워서 내 앱을 HTTPS로 공개해줘" — 오늘 구조 전체를 한 문장으로.
- "이렇게 하면 **정확히 뭐가 공개되는 거야**?" — 공개 범위 검증.
- "**닫는 방법**도 알려줘" — 되돌리기 확보. (오늘 배운 답: `docker compose down`)
