HTTP 가이드

상태코드 설계·캐싱·CORS·인증·리다이렉트·HTTP 버전 등 개념을 깊이 있게 설명합니다.

HTTP 상태 코드 완벽 이해

1xx부터 5xx까지 다섯 개의 상태 코드 클래스가 무엇을 뜻하는지, 상태 줄을 읽는 법과 디버깅에 쓰는 빠른 판단 규칙을 정리합니다.

자세히 보기

REST API 상태 코드 올바르게 고르기

REST API에서 200/201/204, 400/401/403/404/409/422/429, 500/503을 언제 써야 하는지와 일관성·멱등성 키 설계를 설명합니다.

자세히 보기

HTTP 캐싱 완벽 이해

Cache-Control, ETag/If-None-Match, Last-Modified/If-Modified-Since, 304, CDN·브라우저 캐시, 캐시 무효화, Vary까지 HTTP 캐싱의 핵심을 정리합니다.

자세히 보기

CORS 완벽 이해

동일 출처 정책, 단순 요청과 프리플라이트 요청, OPTIONS 프리플라이트, Access-Control-* 헤더, 자격 증명, 자주 겪는 오류를 설명합니다.

자세히 보기

HTTP 인증 이해하기

Basic과 Bearer, WWW-Authenticate, 401과 403의 차이, 토큰/JWT와 세션/쿠키, 그리고 HTTPS가 필수인 이유를 설명합니다.

자세히 보기

HTTP 리다이렉트 깊이 파기

301·302·303·307·308의 차이, 메서드·본문 보존 규칙, SEO와 링크 가치, 리다이렉트 체인·루프, Location 헤더까지 리다이렉트를 깊게 다룹니다.

자세히 보기

안전성과 멱등성: 재시도를 위한 설계

안전한 메서드와 멱등한 메서드의 차이, 재시도에서 왜 중요한지, 멱등성 키, 그리고 PATCH·DELETE를 안전하게 설계하는 법을 설명합니다.

자세히 보기

HTTP/1.1 · HTTP/2 · HTTP/3 무엇이 달라졌나

keep-alive, 헤드 오브 라인 블로킹, 멀티플렉싱, QUIC/UDP 등 HTTP 버전별 변화와 실무에 미치는 영향을 설명합니다.

자세히 보기

쿠키와 세션 완벽 이해

Set-Cookie/Cookie로 상태를 유지하는 원리, HttpOnly·Secure·SameSite 같은 쿠키 속성, 세션 인증과 토큰 인증, CSRF, 크기 제한과 서드파티 쿠키 종말까지 정리합니다.

자세히 보기

콘텐츠 협상(Content Negotiation)

Accept·Accept-Language·Accept-Encoding과 q-value로 표현을 고르는 원리, 서버 주도 협상과 에이전트 주도 협상, 캐시를 지키는 Vary 헤더, 그리고 406 응답을 설명합니다.

자세히 보기

HTTP 압축: gzip, Brotli, zstd

gzip·Brotli·deflate·zstd의 차이, Accept-Encoding/Content-Encoding 협상, 무엇을 언제 압축할지, BREACH·CRIME 보안 위험, 그리고 Transfer-Encoding과 Content-Encoding의 구분을 설명합니다.

자세히 보기

레이트 리미팅(Rate Limiting)

429와 Retry-After, RateLimit-* 헤더, 토큰 버킷·슬라이딩 윈도우·고정 윈도우 알고리즘, 지터를 곁들인 클라이언트 백오프, 사용자별과 IP별 한도를 설명합니다.

자세히 보기

Server-Sent Events와 스트리밍

text/event-stream과 EventSource, event·data·id·retry 필드, 자동 재연결, SSE와 WebSocket·롱폴링의 비교, 그리고 chunked 전송을 설명합니다.

자세히 보기

조건부 요청(Conditional Requests)

ETag의 강함·약함, If-None-Match/If-Match, Last-Modified/If-Modified-Since, 304와 412, 그리고 낙관적 동시성 제어로 갱신 유실(lost update)을 막는 법을 설명합니다.

자세히 보기

범위 요청(Range Requests)

Range·Content-Range·Accept-Ranges 헤더, 206과 416, 이어받기(resumable) 다운로드, If-Range, multipart/byteranges, 그리고 동영상 스트리밍에서의 활용을 설명합니다.

자세히 보기

REST API 설계 원칙

리소스 이름 짓기, 버저닝 전략, 커서·오프셋 페이지네이션, 필터·정렬, RFC 9457 problem+json 오류 형식, 그리고 HATEOAS 기초를 다룹니다.

자세히 보기

TLS/HTTPS 깊이 이해하기

TLS가 보장하는 것, 핸드셰이크 흐름(ClientHello→인증서→키 교환), TLS 1.2와 1.3의 차이, 인증서·CA·SNI·ALPN·cipher suite, 그리고 혼합 콘텐츠까지 정리합니다.

자세히 보기

HTTP/2 내부 구조

바이너리 프레이밍, 스트림과 멀티플렉싱, HPACK 헤더 압축, 폐기된 server push, 우선순위·플로 컨트롤, h2c, 그리고 TCP head-of-line blocking 한계를 설명합니다.

자세히 보기

HTTP/3와 QUIC

UDP 위의 QUIC, 0-RTT/1-RTT 핸드셰이크, 스트림별 손실 복구(TCP HoL 제거), 연결 마이그레이션, QPACK, Alt-Svc 발견과 실제 배포 현실을 다룹니다.

자세히 보기

WebSocket 이해하기

HTTP Upgrade 핸드셰이크(101), Sec-WebSocket-Key/Accept, 프레임 구조, ws:// vs wss://, WebSocket과 SSE·long-polling 비교, 서브프로토콜, 스케일링을 다룹니다.

자세히 보기

HTTP 연결 관리

TCP 연결 수명주기, keep-alive/지속 연결, 커넥션 풀링, HTTP/1.1 파이프라이닝의 함정, Connection 헤더, 타임아웃, 그리고 연결이 재사용되는 조건을 설명합니다.

자세히 보기

리소스 힌트와 프리로딩

preconnect, dns-prefetch, preload, prefetch, modulepreload, prerender, Link 헤더 vs <link>, 우선순위, 그리고 103 Early Hints를 정리합니다.

자세히 보기

HTTP 요청 스머글링

Content-Length와 Transfer-Encoding의 모호성, CL.TE/TE.CL/TE.TE 변종, 프런트엔드·백엔드 desync, 공격 영향, 그리고 정규화·엔드투엔드 HTTP/2·모호한 요청 거부 같은 방어법을 설명합니다.

자세히 보기

웹훅(Webhooks) 완벽 이해

서버 간 HTTP 콜백으로 이벤트를 전달하는 웹훅의 서명 검증(HMAC), 재시도·멱등성, 순서 보장, 2xx 확인 응답, 리플레이 방지, 디버깅까지 정리합니다.

자세히 보기

API 버전 관리 전략

URI 경로(/v1)·헤더(Accept, 커스텀)·쿼리 파라미터 방식의 비교, 언제 버전을 올릴지, Sunset·Deprecation 헤더로 폐기 알리기, 하위 호환성, 미디어 타입 버전 관리를 다룹니다.

자세히 보기

API 페이지네이션 설계

offset/limit와 cursor/keyset 방식 비교, 페이지 메타데이터, Link 헤더(rel=next/prev/first/last, RFC 8288), 깊은 offset의 성능, 안정적 정렬, total count까지 다룹니다.

자세히 보기

Well-Known URI 완벽 이해 (RFC 8615)

/.well-known/ 규약(RFC 8615)과 security.txt, change-password, openid-configuration, acme-challenge, apple-app-site-association, assetlinks.json, ai.txt/llms.txt 같은 대표 경로를 정리합니다.

자세히 보기

URL/URI 구조 완벽 해부

scheme·authority(userinfo/host/port)·path·query·fragment 구성요소, 퍼센트 인코딩, reserved vs unreserved 문자, IDN/punycode, 상대 vs 절대, 정규화를 해부합니다.

자세히 보기

GraphQL over HTTP 이해하기

단일 엔드포인트 POST, query/variables/operationName, 쿼리의 GET 사용, application/graphql-response+json, 200 안의 오류 관례, 캐싱 난제, 배칭까지 GraphQL의 HTTP 전송을 정리합니다.

자세히 보기

실전 콘텐츠 보안 정책 (CSP)

정책 만들기, nonce vs hash vs strict-dynamic, report-only 점진 도입, 흔한 깨짐, 리포팅 엔드포인트, default-src 폴백, frame-ancestors, upgrade-insecure-requests를 실무 관점으로 다룹니다.

자세히 보기