본문 바로가기
C.W.K.
Stream
← C.W.K. Quests
🌐

HTTP와 REST Quest

최근 수정: 2026-08-08

웹과 API의 밑바닥에서 실제로 오가는 말을 읽는 힘

감으로 HTTP와 REST를 쓰는 데서 벗어나자. 메서드, 상태 코드, 헤더, 캐시, CORS, 인증을 제대로 이해하면 버그는 더 이상 수수께끼가 아니라 진단할 수 있는 현상이 돼.

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

Level 0HTTP 입문자
0 XP0/46 lessons0/12 achievements
0/120 XP to next level120 XP to go0% complete
Next.js, Claude SDK, GPT Wire, WebSocket, 프로토콜 같은 퀘스트는 모두 HTTP를 이미 안다고 가정해. 이번에는 그 가정을 내려놓고 밑바닥부터 올라가자. TCP와 TLS, HTTP 버전과 요청의 구조를 익힌 뒤 안전성·멱등성·상태 코드·조건부 요청이 만드는 의미론을 배워. 이어서 리소스와 RPC, URI, HATEOAS를 통해 REST 설계를 정직하게 살펴보고, Bearer·JWT·PKCE를 더한 OAuth 2.0·CORS로 인증과 브라우저 보안 경계를 잡아. 캐시와 스트리밍을 거쳐 REST가 끝나고 WebSocket이 시작되는 지점을 찾고, 마지막에는 관측 가능성·OpenAPI·백오프를 둔 재시도·API 게이트웨이 같은 운영 패턴까지 닿아. cwkPippa의 400개가 넘는 FastAPI 라우트가 실습장이야. RFC 9110을 외우는 게 목표가 아니야. CORS 사전 요청, 422와 400의 차이, 멱등성 키가 더 이상 미신처럼 보이지 않을 만큼 프로토콜을 자유롭게 읽는 게 목표야.

Tracks

  1. 01🧱기초 — HTTP가 실제로 작동하는 방식

    0/7 lessons

    우편 비유부터 상태 코드 계열까지, 실제 HTTP 통신을 읽는 법

    HTTP를 웹의 우편 제도라고 생각하면 출발이 쉬워져. 먼저 요청과 응답의 구조를 해부하고, 그 아래에서 TCP와 TLS가 맡는 일을 살펴보자. 이어서 HTTP/0.9부터 HTTP/3까지의 변화, 메서드의 의미, 헤더의 역할, 상태 코드 계열을 차례로 익혀. 일곱 과를 마치면 브라우저 개발자 도구나 curl에 나타난 HTTP 통신을 차분하게 읽을 수 있을 거야.

    Lesson list (7)퀴즈 · 6 문제
  2. 02🎯HTTP 의미론 — 메서드와 상태 코드의 계약

    0/6 lessons

    안전성·멱등성·캐시 가능성부터 콘텐츠 협상, 조건부 요청, 버전 관리까지

    HTTP의 메서드와 상태 코드는 단순한 이름이 아니라 동작에 관한 계약이야. 안전성과 멱등성이 재시도와 캐시에 어떤 영향을 주는지 살펴보고, 상황에 맞는 상태 코드를 고르는 기준을 익힌다. Accept와 Content-Type으로 표현을 협상하는 법, ETag와 조건부 헤더로 캐시를 검증하고 동시 수정 충돌을 막는 법도 다뤄. 마지막에는 버전 관리 전략을 비교하고, 메서드 결정표로 판단 기준을 하나로 정리해.

    Lesson list (6)퀴즈 · 6 문제
  3. 03🏛️REST 설계 — 리소스와 표현을 중심에 놓기

    0/7 lessons

    리소스, URI, HATEOAS, 페이지 나누기, 오류 계약

    REST를 메서드 이름의 모음이 아니라 리소스를 중심에 둔 설계 방식으로 배워. 리소스 지향 설계와 RPC의 경계를 살피고, 오래 버티는 URI를 설계해. HATEOAS는 Fielding이 제시한 원형과 운영 현장의 선택을 이어서 읽으며 균형 있게 판단해. 페이지 나누기, 필터링과 정렬, 필요한 필드만 고르는 방법, 일관된 오류 응답까지 차근차근 다뤄.

    Lesson list (7)퀴즈 · 6 문제
  4. 04🛡️인증과 보안 — 자격 증명부터 브라우저 경계까지

    0/6 lessons

    Basic과 Bearer부터 JWT, OAuth 2.0, CORS, 요청 제한까지

    자격 증명을 HTTP 요청에 어떻게 싣고, 언제까지 신뢰하며, 어떻게 폐기할지 배워. Basic과 Bearer의 차이에서 출발해 API 키와 토큰의 수명 주기, JWT와 갱신 토큰, PKCE를 적용한 OAuth 2.0 흐름을 차례로 살펴봐. 서버가 선언한 정책을 브라우저가 CORS로 집행하는 방식과 429 응답을 활용한 요청 제한도 함께 익혀.

    Lesson list (6)퀴즈 · 6 문제
  5. 05캐시와 성능 — 가장 빠른 전송은 다시 보내지 않는 것

    0/5 lessons

    Cache-Control, 조건부 GET, CDN, 압축, HTTP/2

    HTTP에는 API 설계에서 놓치기 쉬운 정교한 캐시 프로토콜이 있어. Cache-Control로 서버와 캐시가 재사용 규칙을 정하고, 조건부 GET으로 본문 전송을 통째로 생략하는 법을 배워. 브라우저·CDN·원본 서버의 캐시가 어떻게 이어지는지 살펴본 뒤, gzip·Brotli·zstd 압축과 연결 재사용이 비용을 어떻게 줄이는지도 확인해. 마지막에는 HTTP/2 다중화가 HTTP/1.1 시대의 클라이언트 설계 원칙을 어디까지 바꿨고, 무엇은 여전히 한계로 남는지 정리해.

    Lesson list (5)퀴즈 · 5 문제
  6. 06🌊스트리밍과 비동기 — 한 번의 응답 너머로

    0/5 lessons

    폴링, SSE, 청크 전송, WebSocket, 웹훅, 202 Accepted

    요청 하나와 응답 하나만으로는 오래 걸리거나 계속 이어지는 작업을 온전히 다루기 어려워. 폴링과 롱 폴링에서 출발해 SSE와 청크 전송이 서버의 연속 출력을 어떻게 전달하는지 살펴봐. 양쪽이 서로 독립적으로 메시지를 보내야 할 때 WebSocket을 선택하는 기준도 세우고, 마지막에는 웹훅으로 호출 방향을 뒤집는 방법과 202 Accepted로 비동기 작업의 상태를 공개하는 패턴을 익혀.

    Lesson list (5)퀴즈 · 5 문제
  7. 07🚀운영 — 프로토콜을 실제 서비스로 만들기

    0/6 lessons

    관측 가능성, curl, OpenAPI, 복원력, API 수명 주기

    HTTP 프로토콜을 이해하는 것과 API를 안정적으로 운영하는 것은 별개의 일이야. 상관관계 ID로 여러 서비스에 흩어진 요청의 흔적을 연결하고, curl로 실제 송수신 내용을 확인해. HTTPie·Postman·Insomnia가 각각 언제 유용한지 구분하고, OpenAPI와 JSON Schema로 기계가 읽을 수 있는 계약을 만들어. 안전한 재시도와 백오프, 회로 차단기로 부분 장애의 확산을 막은 다음, API 게이트웨이와 체계적인 지원 중단 절차로 장기 운영까지 완성해.

    Lesson list (6)퀴즈 · 6 문제
  8. 08🎓에필로그 — cwkPippa에서 다음 단계로

    0/4 lessons

    운영 코드를 읽고, 적합한 방식을 선택하고, 직접 구현하기

    앞선 일곱 트랙에서 익힌 개념을 실제 코드와 설계 판단으로 다지는 네 개의 마무리 과다. 먼저 cwkPippa 백엔드에서 REST, SSE, WebSocket이 서로 다른 통신 형태를 어떻게 나누어 맡는지 살펴본다. 이어서 gRPC, GraphQL, RPC가 REST보다 적합한 조건을 구분하고, 지금까지 배운 HTTP 계약을 한데 모은 작은 CRUD 서비스를 직접 설계한다. 마지막으로 이 퀘스트가 의도적으로 다루지 않은 주제와 현실적인 후속 학습 경로를 정리한다.

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

댓글 0

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

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