C.W.K.
Stream
← C.W.K. Quests
🌐

HTTP & REST Quest

최근 수정: 2026-05-25

모든 웹/API 퀘스트가 안다고 가정하지만 아무도 가르치지 않는 그 wire-format 문해력

감으로 HTTP/REST 쓰는 거 그만하자. method, status code, header, caching, CORS, auth — 버그가 미스터리가 아니라 진단이 되는 레벨까지 substrate 를 제대로 배우자.

8 tracks · 46 lessons · ~22h · difficulty: beginner-to-advanced

Level 0HTTP Newbie
0 XP0/46 lessons0/12 achievements
0/120 XP to next level120 XP to go0% complete
이미 걸어봤을 다른 퀘스트들 — Next.js, Claude SDK, GPT Wire, WebSocket, Protocol — 전부 HTTP 를 안다고 조용히 가정하고 시작해. 이 퀘스트는 그 가정을 멈춰. 여덟 트랙이 wire 부터 (TCP, TLS, HTTP/1.1 vs 2 vs 3, request anatomy) semantic 층 (idempotency 가 진짜 invariant 야, status code 는 polymorphic protocol 이고, conditional request 는 cache 계약이야) 거쳐서 REST design 을 정직하게 (resource vs RPC, URI 설계, HATEOAS 의 모순 — 한쪽엔 Fielding 의 박사논문, 다른 쪽엔 99% 의 'REST API' 가 실제로 ship 하는 것), 그 다음 auth (Bearer, JWT, PKCE 붙은 OAuth2, CORS 가 서버가 선언한 정책을 브라우저가 강제하는 거라는 진실), caching, real-time 으로 넘어가는 지점 (REST 끝나고 WebSocket 시작하는 곳), production 패턴 (observability, OpenAPI, backoff 붙은 retry, API gateway) 까지. cwkPippa 의 400+ FastAPI 라우트가 놀이터야. 목표는 RFC 9110 외워서 인용하는 게 아니라 — CORS preflight, 422 vs 400, idempotency key 가 미신 아니라 mechanic 으로 보이는 수준의 유창함이야.

Tracks

  1. 01🧱Foundations — 이미 쓰고 있던 그 wire

    0/7 lessons

    TCP, TLS, HTTP version, method, header, status code family

    REST design 도 auth 도 caching 도 전부 그 전에 — wire 가 있어. 7개 lesson 이 'HTTP 는 웹의 우편 서비스야' 부터 request anatomy, TLS handshake, HTTP/1.1 vs 2 vs 3 진화, 모든 method, 모든 header category, 1xx-5xx status code 의 polymorphic dispatch 까지 데려가. 끝날 때쯤이면 DevTools 에서 request 열어봐도 그리스어처럼 안 보일 거야.

    Lesson list (7)퀴즈 · 6 문제
  2. 02🎯Semantics — Method 가 실제 약속하는 invariant

    0/6 lessons

    Idempotency, safety, cacheability, content negotiation, conditional request, versioning

    Foundations 가 method 이름 알려줬어. Semantics 는 각 method 가 client, proxy, CDN 한테 뭘 약속하는지 알려줘. Idempotency 가 진짜 invariant (verb 매핑은 결과야). Status code 는 polymorphic protocol (lookup table 아냐). Content negotiation 은 client 와 server 가 미리 약속 없이 format 합의하는 방법. Conditional request 는 cache 계약. 끝날 때쯤이면 모든 PUT vs POST 선택을 민간 전승 아닌 세 속성 invariant 로 방어할 수 있어.

    Lesson list (6)퀴즈 · 6 문제
  3. 03🏛️REST Design — Resource, URI, HATEOAS 정직하게

    0/7 lessons

    Resource vs RPC, URI 설계, HATEOAS 모순, pagination, error envelope

    REST 는 Fielding 이 2000년에 묘사한 architectural style. 2026년에 'REST API' 라는 이름으로 ship 되는 건 대부분 HTTP 옷 입은 RPC. 둘 다 동작; 이 트랙이 어느 게 어느 건지 구분하고, 둘 중 뭐든 잘 설계하고, dissertation 안 읽고 HATEOAS 논쟁 그만하게 가르쳐. Lesson 7 개: resource vs RPC 모델, URI 설계 규칙, HATEOAS 둘 (순수와 정직), pagination 패턴, query shape, error envelope 설계.

    Lesson list (7)퀴즈 · 6 문제
  4. 04🛡️Auth & Security — Wire-Level, 손짓 발짓 아님

    0/6 lessons

    Bearer, API key, JWT, PKCE 가진 OAuth2, CORS, rate limiting

    대부분 API auth 버그가 내부 아무도 이해 못 하는 복붙 OAuth flow 에서 옴. 이 트랙이 wire-level 이야기 풀어: HTTP Basic 과 Bearer (원조), API key vs 단기 token (각각 언제 맞나), JWT 구조와 refresh flow, PKCE 가진 OAuth2 (현대 canonical 패턴), 강제된 server-선언 정책으로서의 CORS, 429 + Retry-After 통한 rate limiting. Lesson 6 개; 라이브러리 전에 개념.

    Lesson list (6)퀴즈 · 6 문제
  5. 05Caching & Performance — 이미 가진 계약

    0/5 lessons

    Cache-Control, ETag, conditional GET, CDN 층, 압축, HTTP/2 multiplexing

    HTTP 가 대부분 API 가 무시하는 정교한 caching protocol 가짐. 이 트랙이 사용법 가르쳐 — server 와 intermediary 간 계약으로서의 Cache-Control, body 전송 완전 건너뛰는 fast path 로서의 conditional GET, CDN 층 (브라우저 / edge / origin) 과 네 header 가 어느 거 target 하는지, 압축 negotiation (gzip / brotli / zstd), HTTP/1.1 에서 상속된 client 설계 가정을 바꾸는 HTTP/2 multiplexing 승리. Lesson 5 개.

    Lesson list (5)퀴즈 · 5 문제
  6. 06🌊Streaming & Async — REST 가 끝나는 곳

    0/5 lessons

    Polling → long-polling → SSE → chunked transfer → WebSocket handoff → webhook

    REST 가 request/response. Real-time, push, long-running operation 이 다른 패턴 필요. 이 트랙이 spectrum 걸음: polling (싸고, 낭비적), long-polling (server 가 연결 보유), SSE (HTTP 위 one-way server-to-client streaming), chunked transfer (SSE 가 타는 substrate), WebSocket handoff (full duplex 필요할 때), webhook (inverted REST), 202 + Location async 패턴. Lesson 5.

    Lesson list (5)퀴즈 · 5 문제
  7. 07🚀Production — 진짜 일

    0/6 lessons

    Observability, curl, httpie/Postman, OpenAPI, client retry, API gateway

    Protocol 디테일이 필수; production 에 API 돌리기가 충분. 이 트랙이 운영 층 가르쳐: 분산 trace 통해 thread 하는 correlation ID, 보편 debug 도구로서 curl, 실제 잡을 GUI client, wire 의 documentation 으로서 OpenAPI, 부분 실패 생존하는 client 설계 (retry + circuit breaker), API 장기 관리 (gateway + versioning lifecycle). Lesson 6.

    Lesson list (6)퀴즈 · 6 문제
  8. 08🎓Epilogue — cwkPippa 가 reference + 다음 어디

    0/4 lessons

    실제 REST codebase 걷기, REST 아닌 거 봄, 자기 만들기, 바깥 봄

    이론 트랙 7; 반성 lesson 4. 첫 번째가 동작하는 REST + SSE + WebSocket reference 로 cwkPippa 의 backend routes/ 걸음. 두 번째가 정직한 'REST 안 쓸 때' (gRPC, GraphQL, RPC) 섹션. 세 번째가 배운 거 적용하는 작은 CRUD end-to-end. 네 번째가 다음 어디 갈지 로드맵 — 이 퀘스트가 의도적으로 미룬 더 깊은 주제.

    Lesson list (4)퀴즈 · 4 문제
이 페이지에서 버그를 발견하셨거나 피드백이 있으세요?문제 신고

댓글 0

🔔 답글 알림 (로그인 필요)
로그인댓글을 남기려면 로그인해 주세요.

아직 댓글이 없어요. 첫 댓글을 남겨보세요.