상태코드 설계·캐싱·CORS·인증·리다이렉트·HTTP 버전 등 개념을 깊이 있게 설명합니다.
1xx부터 5xx까지 다섯 개의 상태 코드 클래스가 무엇을 뜻하는지, 상태 줄을 읽는 법과 디버깅에 쓰는 빠른 판단 규칙을 정리합니다.
자세히 보기REST API에서 200/201/204, 400/401/403/404/409/422/429, 500/503을 언제 써야 하는지와 일관성·멱등성 키 설계를 설명합니다.
자세히 보기Cache-Control, ETag/If-None-Match, Last-Modified/If-Modified-Since, 304, CDN·브라우저 캐시, 캐시 무효화, Vary까지 HTTP 캐싱의 핵심을 정리합니다.
자세히 보기동일 출처 정책, 단순 요청과 프리플라이트 요청, OPTIONS 프리플라이트, Access-Control-* 헤더, 자격 증명, 자주 겪는 오류를 설명합니다.
자세히 보기Basic과 Bearer, WWW-Authenticate, 401과 403의 차이, 토큰/JWT와 세션/쿠키, 그리고 HTTPS가 필수인 이유를 설명합니다.
자세히 보기301·302·303·307·308의 차이, 메서드·본문 보존 규칙, SEO와 링크 가치, 리다이렉트 체인·루프, Location 헤더까지 리다이렉트를 깊게 다룹니다.
자세히 보기안전한 메서드와 멱등한 메서드의 차이, 재시도에서 왜 중요한지, 멱등성 키, 그리고 PATCH·DELETE를 안전하게 설계하는 법을 설명합니다.
자세히 보기keep-alive, 헤드 오브 라인 블로킹, 멀티플렉싱, QUIC/UDP 등 HTTP 버전별 변화와 실무에 미치는 영향을 설명합니다.
자세히 보기Set-Cookie/Cookie로 상태를 유지하는 원리, HttpOnly·Secure·SameSite 같은 쿠키 속성, 세션 인증과 토큰 인증, CSRF, 크기 제한과 서드파티 쿠키 종말까지 정리합니다.
자세히 보기Accept·Accept-Language·Accept-Encoding과 q-value로 표현을 고르는 원리, 서버 주도 협상과 에이전트 주도 협상, 캐시를 지키는 Vary 헤더, 그리고 406 응답을 설명합니다.
자세히 보기gzip·Brotli·deflate·zstd의 차이, Accept-Encoding/Content-Encoding 협상, 무엇을 언제 압축할지, BREACH·CRIME 보안 위험, 그리고 Transfer-Encoding과 Content-Encoding의 구분을 설명합니다.
자세히 보기429와 Retry-After, RateLimit-* 헤더, 토큰 버킷·슬라이딩 윈도우·고정 윈도우 알고리즘, 지터를 곁들인 클라이언트 백오프, 사용자별과 IP별 한도를 설명합니다.
자세히 보기text/event-stream과 EventSource, event·data·id·retry 필드, 자동 재연결, SSE와 WebSocket·롱폴링의 비교, 그리고 chunked 전송을 설명합니다.
자세히 보기ETag의 강함·약함, If-None-Match/If-Match, Last-Modified/If-Modified-Since, 304와 412, 그리고 낙관적 동시성 제어로 갱신 유실(lost update)을 막는 법을 설명합니다.
자세히 보기Range·Content-Range·Accept-Ranges 헤더, 206과 416, 이어받기(resumable) 다운로드, If-Range, multipart/byteranges, 그리고 동영상 스트리밍에서의 활용을 설명합니다.
자세히 보기리소스 이름 짓기, 버저닝 전략, 커서·오프셋 페이지네이션, 필터·정렬, RFC 9457 problem+json 오류 형식, 그리고 HATEOAS 기초를 다룹니다.
자세히 보기TLS가 보장하는 것, 핸드셰이크 흐름(ClientHello→인증서→키 교환), TLS 1.2와 1.3의 차이, 인증서·CA·SNI·ALPN·cipher suite, 그리고 혼합 콘텐츠까지 정리합니다.
자세히 보기바이너리 프레이밍, 스트림과 멀티플렉싱, HPACK 헤더 압축, 폐기된 server push, 우선순위·플로 컨트롤, h2c, 그리고 TCP head-of-line blocking 한계를 설명합니다.
자세히 보기UDP 위의 QUIC, 0-RTT/1-RTT 핸드셰이크, 스트림별 손실 복구(TCP HoL 제거), 연결 마이그레이션, QPACK, Alt-Svc 발견과 실제 배포 현실을 다룹니다.
자세히 보기HTTP Upgrade 핸드셰이크(101), Sec-WebSocket-Key/Accept, 프레임 구조, ws:// vs wss://, WebSocket과 SSE·long-polling 비교, 서브프로토콜, 스케일링을 다룹니다.
자세히 보기TCP 연결 수명주기, keep-alive/지속 연결, 커넥션 풀링, HTTP/1.1 파이프라이닝의 함정, Connection 헤더, 타임아웃, 그리고 연결이 재사용되는 조건을 설명합니다.
자세히 보기preconnect, dns-prefetch, preload, prefetch, modulepreload, prerender, Link 헤더 vs <link>, 우선순위, 그리고 103 Early Hints를 정리합니다.
자세히 보기Content-Length와 Transfer-Encoding의 모호성, CL.TE/TE.CL/TE.TE 변종, 프런트엔드·백엔드 desync, 공격 영향, 그리고 정규화·엔드투엔드 HTTP/2·모호한 요청 거부 같은 방어법을 설명합니다.
자세히 보기서버 간 HTTP 콜백으로 이벤트를 전달하는 웹훅의 서명 검증(HMAC), 재시도·멱등성, 순서 보장, 2xx 확인 응답, 리플레이 방지, 디버깅까지 정리합니다.
자세히 보기URI 경로(/v1)·헤더(Accept, 커스텀)·쿼리 파라미터 방식의 비교, 언제 버전을 올릴지, Sunset·Deprecation 헤더로 폐기 알리기, 하위 호환성, 미디어 타입 버전 관리를 다룹니다.
자세히 보기offset/limit와 cursor/keyset 방식 비교, 페이지 메타데이터, Link 헤더(rel=next/prev/first/last, RFC 8288), 깊은 offset의 성능, 안정적 정렬, total count까지 다룹니다.
자세히 보기/.well-known/ 규약(RFC 8615)과 security.txt, change-password, openid-configuration, acme-challenge, apple-app-site-association, assetlinks.json, ai.txt/llms.txt 같은 대표 경로를 정리합니다.
자세히 보기scheme·authority(userinfo/host/port)·path·query·fragment 구성요소, 퍼센트 인코딩, reserved vs unreserved 문자, IDN/punycode, 상대 vs 절대, 정규화를 해부합니다.
자세히 보기단일 엔드포인트 POST, query/variables/operationName, 쿼리의 GET 사용, application/graphql-response+json, 200 안의 오류 관례, 캐싱 난제, 배칭까지 GraphQL의 HTTP 전송을 정리합니다.
자세히 보기정책 만들기, nonce vs hash vs strict-dynamic, report-only 점진 도입, 흔한 깨짐, 리포팅 엔드포인트, default-src 폴백, frame-ancestors, upgrade-insecure-requests를 실무 관점으로 다룹니다.
자세히 보기