EasyDebug.NET

HTTP 헤더 조회표

요청·응답·캐시·CORS·보안 헤더와 주의사항

헤더 71개

Host공통

example.com:8080

대상 호스트와 포트, HTTP/1.1부터 필수, 가상 호스트와 SNI 라우팅에 사용

Content-Type공통

application/json; charset=utf-8

본문의 미디어 타입과 문자셋, 한글이 깨질 때 대개 여기 문제

주의: charset 불일치 시 브라우저가 잘못된 인코딩으로 해석, JSON은 application/json만 쓰는 편이 안전

Content-Length공통

1024

본문 바이트 수(문자 수 아님), 한글은 보통 3바이트

Content-Encoding공통

gzip

본문 압축 방식(gzip, br, zstd), Content-Length 이후 바이트를 압축

주의: 둘 다 있을 때 Content-Length는 압축 전 크기를 가리킴

Content-Language공통

zh-Hans

본문의 자연어, 다국어 사이트에서 Accept-Language와 협상

Content-Disposition공통

attachment; filename="report.csv"

브라우저가 표시할지 다운로드할지 결정하고 파일명을 지정

주의: 비ASCII 파일명은 filename*=UTF-8을 써야 깨지지 않음

Transfer-Encoding공통

chunked

청크 전송, chunked 사용 시 Content-Length와 함께 쓸 수 없음

주의: Content-Length와 함께 보내면 게이트웨이가 요청 밀수로 판단

Connection공통

keep-alive

연결 관리, close는 응답 후 종료, upgrade는 프로토콜 전환

Keep-Alive공통

timeout=5, max=1000

연결 재사용 유지 파라미터, 유휴 시간 초과와 최대 요청 수

Via공통

1.1 varnish

거쳐온 프록시와 게이트웨이 기록, 경로와 캐시 계층 추적에 사용

Date공통

Sun, 20 Sep 2026 03:30:00 GMT

메시지 생성 시각, 반드시 GMT 형식

Accept요청

text/html,application/json;q=0.9

클라이언트가 받을 수 있는 미디어 타입, q 값으로 우선순위 지정

주의: 백엔드가 406을 반환하면 이 헤더와 응답 Content-Type 비교

Accept-Encoding요청

gzip, br

클라이언트가 지원하는 압축 방식, 서버가 압축 여부 결정

Accept-Language요청

zh-CN,zh;q=0.9,en;q=0.8

선호 자연어, 다국어 사이트 언어 선택 근거

주의: 이 헤더만으로 언어를 바꾸면 크롤러가 한 URL의 여러 언어를 수집, Vary 필요

Accept-Charset요청

utf-8

클라이언트가 받는 문자셋, 최신 브라우저는 대개 utf-8만

User-Agent요청

Mozilla/5.0 (Windows NT 10.0; Win64; x64)

클라이언트 식별자, 호환 처리와 위험 제어에 사용

주의: UA로 기능 판단 금지, 최신 브라우저는 위장하며 태블릿과 폰 구분 불가

Referer요청

https://example.com/list

유입 페이지 주소, 핫링크 방지와 유입 통계에 사용

주의: HTTPS에서 HTTP로 이동 시 브라우저가 제거해 핫링크 규칙이 오작동

Authorization요청

Bearer eyJhbGciOi...

인증 자격 증명, 주로 Bearer 토큰 또는 Basic base64

주의: 401이면 헤더 전송 여부와 Bearer 뒤 공백 한 칸 확인

Proxy-Authorization요청

Basic dXNlcjpwYXNz

프록시 인증용, Authorization과는 별개

주의: 407에는 이 헤더가 필요, Authorization에 넣으면 효과 없음

Range요청

bytes=0-1023

리소스 일부 바이트만 요청, 이어받기와 동영상 탐색에 사용

주의: 서버는 206을 반환해야 하며 200이면 범위 미지원

Expect요청

100-continue

큰 본문 전송 전 서버 수락 여부 확인, 헛된 업로드 방지

주의: Expect를 전달하지 않는 게이트웨이는 타임아웃, 대용량 업로드 시 헤더 제거

Upgrade요청

websocket

프로토콜 업그레이드 요청, WebSocket 핸드셰이크의 핵심

주의: 리버스 프록시가 Upgrade와 Connection: upgrade를 함께 전달해야 핸드셰이크 성공

Forwarded요청

for=203.0.113.1;proto=https

표준화된 프록시 경로 정보, X-Forwarded-*의 공식 대체

X-Forwarded-For요청

203.0.113.1, 10.0.0.5

클라이언트 IP 체인, 홉마다 추가되며 가장 왼쪽이 클라이언트

주의: 클라이언트가 위조 가능, 자체 프록시 홉이나 사용자 헤더만 신뢰

X-Forwarded-Proto요청

https

원본 요청 프로토콜, 프록시 뒤 앱이 HTTPS 판단 근거

X-Real-IP요청

203.0.113.1

Nginx에서 흔히 쓰는 단일 값 클라이언트 IP 헤더

Server응답

nginx/1.24.0

서버 소프트웨어 표시, 버전 노출은 공격자에게 유리

주의: 프로덕션에서는 버전 숨김 권장(server_tokens off)

WWW-Authenticate응답

Basic realm="api"

인증 방식을 알려줌, 401과 함께 반환

주의: 403만 반환하면 클라이언트가 인증 창을 띄울지 판단하지 못함

Proxy-Authenticate응답

Basic realm="proxy"

프록시 인증 요구, 407과 함께 사용

Location응답

https://example.com/new

리다이렉트 대상, 3xx 상태 코드와 함께 사용

주의: 하위 경로 배포에서 상대 경로는 어긋남, 다른 호스트는 절대 URL 필요

Retry-After응답

120

클라이언트가 언제 재시도할지 알려줌(초 또는 HTTP 날짜)

주의: 429와 503에 함께 보내야 클라이언트가 즉시 재시도하지 않음

Allow응답

GET, POST, HEAD

리소스가 허용하는 메서드, 405와 함께 사용

Accept-Ranges응답

bytes

범위 요청 지원 선언, 이어받기의 전제

Content-Range응답

bytes 0-1023/4096

부분 콘텐츠 범위와 전체 길이, 206과 함께 사용

X-Powered-By응답

Express

프레임워크 지문, 정보 노출을 줄이려면 비활성 권장

Timing-Allow-Origin응답

*

어느 출처가 Performance 타이밍 데이터를 읽을 수 있는지 지정

Alt-Svc응답

h3=":443"; ma=86400

대체 서비스 엔드포인트 광고, HTTP/3 발견 경로

Cache-Control캐시·조건부

public, max-age=3600

캐시 정책 핵심 지시자, no-store는 저장 금지, no-cache는 재검증

주의: no-cache는 매번 재검증, 저장 자체를 막으려면 no-store

Expires캐시·조건부

Sun, 20 Sep 2026 04:30:00 GMT

HTTP/1.0 만료 시각, Cache-Control보다 우선순위 낮음

Pragma캐시·조건부

no-cache

HTTP/1.0 레거시 헤더, no-cache와 동일 의미

ETag캐시·조건부

"686897696a7c876b7e"

리소스 버전 지문, 조건부 요청에서 변경 여부 판단

주의: 서버마다 ETag가 다르면 캐시가 계속 무효화, 비활성 또는 통일 필요

Last-Modified캐시·조건부

Sat, 19 Sep 2026 12:00:00 GMT

리소스 최종 수정 시각, 초 단위 정밀도

If-None-Match캐시·조건부

"686897696a7c876b7e"

이전 ETag를 보내 변경 여부 확인, 변경 없으면 304

주의: 재검증이 안 되면 브라우저가 보낸 값과 응답 ETag를 비교

If-Modified-Since캐시·조건부

Sat, 19 Sep 2026 12:00:00 GMT

수정 시각 기반 조건부 요청, 정밀도는 낮지만 호환성 좋음

If-Match캐시·조건부

"686897696a7c876b7e"

버전이 일치해야 쓰기 수행, 낙관적 잠금 구현 방식

주의: 없으면 갱신 손실이 발생, 412와 함께 사용

If-Unmodified-Since캐시·조건부

Sat, 19 Sep 2026 12:00:00 GMT

If-Match와 유사하나 시각 기준, 조건 불충족 시 412

Age캐시·조건부

3600

응답이 캐시에 있던 초, max-age와 함께 만료 판단

Vary캐시·조건부

Accept-Encoding, Accept-Language

응답이 어떤 요청 헤더에 따라 달라지는지 선언, 캐시 분기 기준

주의: Vary 누락 시 압축 미지원 클라이언트에 압축 본문 전달, 언어 버전 혼선

OriginCORS

https://app.example.com

요청 출처, 브라우저가 자동 추가하며 페이지가 위조할 수 없음

Access-Control-Allow-OriginCORS

https://app.example.com

허용할 교차 출처, *를 쓰면 자격 증명을 함께 쓸 수 없음

주의: 쿠키 사용 시 정확한 출처를 반환해야 하며 *면 브라우저가 응답을 버림

Access-Control-Allow-MethodsCORS

GET, POST, PUT, DELETE

프리플라이트에서 허용하는 메서드

Access-Control-Allow-HeadersCORS

Content-Type, Authorization

프리플라이트에서 허용하는 사용자 정의 요청 헤더

주의: 목록에 없는 사용자 헤더는 프리플라이트 실패, 콘솔에는 CORS로만 표시

Access-Control-Allow-CredentialsCORS

true

쿠키와 인증 정보를 함께 보낼 수 있는지 여부

주의: true면 프론트도 withCredentials를 켜야 하며 한쪽만 켜면 데이터 없음

Access-Control-Expose-HeadersCORS

Content-Disposition

페이지 스크립트가 읽을 수 있는 응답 헤더, 기본은 몇 개만 허용

주의: 다운로드 파일명을 못 읽는 것은 대개 Content-Disposition 미노출

Access-Control-Max-AgeCORS

600

프리플라이트 결과 캐시 시간, OPTIONS 요청 감소

Access-Control-Request-MethodCORS

PUT

프리플라이트에서 실제 사용할 메서드 선언, 브라우저가 자동 생성

Access-Control-Request-HeadersCORS

Authorization

실제 요청에서 사용할 사용자 정의 헤더 선언

Strict-Transport-Security보안

max-age=63072000; includeSubDomains; preload

이후 HTTPS만 사용하도록 강제, 다운그레이드와 쿠키 탈취 방지

주의: preload는 되돌리기 어려움, 작은 max-age로 먼저 검증

Content-Security-Policy보안

default-src "self"; object-src "none"

스크립트·스타일·이미지 로드 출처를 제한하는 정책, XSS 방어의 핵심

주의: Content-Security-Policy-Report-Only로 먼저 관찰 후 정식 헤더로 전환

X-Frame-Options보안

SAMEORIGIN

iframe 중첩 허용 여부, 클릭재킹 방지

주의: 둘 다 있으면 CSP frame-ancestors가 우선

X-Content-Type-Options보안

nosniff

브라우저 타입 추측 금지, 텍스트가 스크립트로 실행되는 것 방지

Referrer-Policy보안

strict-origin-when-cross-origin

이동 시 얼마나 많은 리퍼러 정보를 보낼지 제어

Permissions-Policy보안

camera=(), geolocation=(self)

카메라·위치·마이크 같은 브라우저 기능을 켜고 끔

Cross-Origin-Opener-Policy보안

same-origin

브라우징 컨텍스트 격리, 고정밀 타이머와 SharedArrayBuffer의 전제

Cross-Origin-Embedder-Policy보안

require-corp

모든 임베드 리소스가 허용을 선언하도록 요구

Cross-Origin-Resource-Policy보안

same-origin

리소스를 동일 출처 페이지만 로드하도록 제한

Clear-Site-Data보안

"cache", "cookies"

브라우저에 사이트 캐시와 쿠키 삭제 요청, 로그아웃 시 사용

주의: HTTPS에서만 동작, 따옴표 오류는 조용히 실패

X-XSS-Protection보안

0

구형 브라우저 XSS 필터 스위치, 폐기됨, 0으로 설정 권장

주의: 1로 설정하면 부채널 문제가 발생, CSP로 대체 권장

뭔가 잘못됐거나 빠진 게 있나요?

피드백 보내기
작성자의 블로그
아이디어 보내기