HTTP 헤더
표준 요청 / 응답 헤더를 기능별로 정리했습니다. 각 헤더를 열면 문법, 지시어, 실제 사용 예시를 볼 수 있습니다.
인증
WWW-AuthenticateWWW-Authenticate로 클라이언트에 자격 증명을 요구합니다. 401 응답에서 Basic, Bearer, Digest 등 인증 방식을 설정합니다.
AuthorizationAuthorization 헤더로 자격 증명을 보냅니다. Basic, Bearer, Digest 방식과 문법, 보안 지침을 다룹니다.
Proxy-AuthenticateProxy-Authenticate가 407 응답으로 프록시 자격 증명을 요구하는 방식을 이해합니다. 인증 방식, 문법, 프록시 체인 예시를 다룹니다.
Proxy-Authorization407 챌린지 이후 Proxy-Authorization 헤더로 프록시 서버에 자격 증명을 보냅니다. 인증 방식, 문법, 체인 동작을 다룹니다.
캐싱
AgeAge 헤더로 캐시 신선도를 가늠합니다. CDN과 프록시가 오리진 응답 이후 경과 시간을 보고하는 방식을 다룹니다.
Cache-ControlCache-Control 지시어로 브라우저와 CDN 캐시를 제어합니다. 문법, 실제 예시, 모범 사례를 다룹니다.
ExpiresExpires 헤더와 타임스탬프 기반 캐시 신선도를 이해합니다. Cache-Control과의 상호작용, 그리고 각각을 쓸 시점을 알아봅니다.
Clear-Site-DataClear-Site-Data로 브라우저 캐시, 쿠키, 저장소를 지웁니다. 로그아웃 흐름, 지시어, 배포 패턴을 다룹니다.
조건부 요청
Last-ModifiedLast-Modified 헤더와 날짜 기반 캐시 검증을 이해합니다. 조건부 요청 흐름에서 서버가 수정 시각을 보고하는 방식을 알아봅니다.
ETagETag 식별자가 캐시 재검증과 동시성 제어를 가능하게 하는 방식을 알아봅니다. 강한 ETag와 약한 ETag, 문법, 조건부 요청 패턴을 다룹니다.
If-MatchIf-Match 헤더와 ETag 기반 조건부 요청을 이해합니다. PUT과 DELETE에서 낙관적 동시성 제어로 갱신 유실을 막습니다.
If-None-MatchIf-None-Match가 ETag로 캐시된 리소스를 검증하는 방식을 알아봅니다. 조건부 요청으로 캐시를 재검증하고 덮어쓰기를 막습니다.
If-Modified-SinceIf-Modified-Since가 GET과 HEAD에서 날짜 기반 캐시 재검증을 가능하게 하는 방식을 알아봅니다. 조건부 응답과 304로 대역폭을 아낍니다.
If-Unmodified-SinceIf-Unmodified-Since와 날짜 기반 전제조건이 갱신 유실을 막는 방식을 이해합니다. PUT과 DELETE를 동시 수정으로부터 보호합니다.
VaryVary 헤더로 캐시 변형을 제어합니다. 어떤 요청 헤더가 응답에 영향을 주는지 캐시에 알려 올바른 표현을 저장·제공하게 합니다.
콘텐츠 협상
AcceptAccept 헤더로 응답 미디어 타입을 협상합니다. 품질 값, 와일드카드, 콘텐츠 협상 흐름, 예시를 다룹니다.
Accept-EncodingAccept-Encoding으로 압축을 협상합니다. 지원 알고리즘, 품질 값, 문법, 서버 측 구현을 다룹니다.
Accept-LanguageAccept-Language로 콘텐츠 언어를 협상합니다. BCP 47 태그, 품질 값, 서버 처리, 예시를 다룹니다.
Accept-CharsetAccept-Charset이 왜 폐기되었고 문자셋 협상이 UTF-8로 대체되었는지 이해합니다. 역사, 문법, 마이그레이션 지침을 다룹니다.
콘텐츠 정보
Content-TypeContent-Type으로 미디어 타입을 선언합니다. MIME 타입, charset 매개변수, 콘텐츠 협상, MIME 스니핑 위험을 다룹니다.
Content-LengthContent-Length로 메시지 본문 크기를 선언합니다. 바이트 계산, 커넥션 재사용, 진행률 표시, 함정을 다룹니다.
Content-EncodingContent-Encoding으로 응답 압축 방식을 알립니다. gzip, br, zstd 알고리즘, 서버 설정, 디코딩을 다룹니다.
Content-LanguageContent-Language로 대상 독자의 언어를 선언합니다. 언어 태그, 콘텐츠 협상, 다국어 구성을 다룹니다.
Content-LocationContent-Location으로 협상된 표현의 위치를 가리킵니다. Location과의 차이, 캐싱 영향, 예시를 다룹니다.
Content-DispositionContent-Disposition으로 파일 다운로드 또는 인라인 표시를 지시합니다. attachment, 파일명 인코딩, 폼 데이터 사용을 다룹니다.
Content-RangeContent-Range로 부분 콘텐츠를 제공합니다. 바이트 범위 문법, 이어받기, 미디어 스트리밍, 206 응답 흐름을 다룹니다.
쿠키
CORS
Access-Control-Allow-OriginAccess-Control-Allow-Origin으로 교차 출처 접근을 제어합니다. 와일드카드, 동적 출처, CORS 오류와 해결법을 다룹니다.
Access-Control-Allow-MethodsAccess-Control-Allow-Methods로 CORS 프리플라이트에서 허용할 HTTP 메서드를 지정합니다. 문법, 와일드카드 규칙, 서버 설정을 다룹니다.
Access-Control-Allow-HeadersAccess-Control-Allow-Headers로 CORS 요청의 커스텀 헤더를 허용합니다. 프리플라이트 설정, 와일드카드, 예시를 다룹니다.
Access-Control-Allow-CredentialsAccess-Control-Allow-Credentials로 CORS 요청에 쿠키와 자격 증명을 실어 보냅니다. 설정, 함정, 해결법을 다룹니다.
OriginOrigin 요청 헤더가 CORS에서 요청의 출처를 식별하는 방식을 이해합니다. 문법, 브라우저 동작, 서버 측 검증을 다룹니다.
범위 요청
리다이렉트
요청 컨텍스트
HostHTTP/1.1 요청에서 필수인 Host 헤더를 이해합니다. 가상 호스팅의 동작, 문법 규칙, 서버가 대상 도메인을 해석하는 방식을 알아봅니다.
User-AgentUser-Agent로 클라이언트 소프트웨어를 식별합니다. 제품 토큰 파싱, UA 축소 이해, 봇 탐지 전략을 다룹니다.
RefererReferer 헤더가 링크를 건 페이지를 식별하는 방식을 이해합니다. 분석, 접근 제어, 개인정보 위험, Referrer-Policy와의 관계를 다룹니다.
Referrer-PolicyReferrer-Policy를 적용해 브라우저가 보내는 리퍼러 정보를 제어합니다. 지시어 선택지, 개인정보 영향, 배포 예시를 다룹니다.
응답 컨텍스트
보안
Strict-Transport-SecurityStrict-Transport-Security로 HTTPS 연결을 강제합니다. HSTS의 max-age, includeSubDomains, preload를 설정해 다운그레이드 공격을 막습니다.
Content-Security-PolicyContent-Security-Policy로 XSS와 인젝션 공격을 막습니다. 지시어, 소스 목록, nonce, 배포 방법을 다룹니다.
X-Content-Type-OptionsX-Content-Type-Options: nosniff로 MIME 스니핑 공격을 막습니다. 모든 응답에서 선언된 Content-Type을 브라우저가 따르도록 강제합니다.
X-Frame-OptionsX-Frame-Options로 클릭재킹을 막습니다. DENY, SAMEORIGIN으로 프레임 삽입을 제어하고 CSP frame-ancestors 대안도 다룹니다.
Permissions-PolicyPermissions-Policy를 적용해 사이트와 삽입된 iframe이 접근할 브라우저 기능을 제어합니다. 지시어, 허용 목록, 예시를 다룹니다.
전송 코딩
Transfer-EncodingTransfer-Encoding으로 메시지 본문을 안전하게 전송할 형태로 인코딩합니다. 청크 인코딩, 홉 단위 의미론, 스트리밍 응답을 다룹니다.
TETE 헤더로 전송 인코딩 선호를 선언합니다. 청크 트레일러와 압축을 클라이언트와 서버 사이에서 협상합니다.
ConnectionConnection 헤더로 TCP 커넥션 수명을 관리합니다. keep-alive, close, 홉 단위 동작, HTTP/2에서의 변화를 다룹니다.
UpgradeUpgrade 헤더로 기존 커넥션의 프로토콜을 전환합니다. HTTP/1.1 위에서 WebSocket, HTTP/2, TLS 업그레이드를 협상합니다.