HTTP 헤더 사전
HTTP 헤더가 하는 일과 요청·응답 어느 쪽에 쓰이는지 찾아봅니다. 예시 값도 함께 보여줍니다.
이름 일부·설명·분류·방향(요청/응답) 어느 것으로도 찾습니다.
내용·형식
Content-Type
요청·응답본문의 형식. 응답에서 이걸 잘못 주면 브라우저가 파일을 다르게 해석한다
application/json; charset=utf-8Content-Length
요청·응답본문의 바이트 크기
1024Content-Encoding
응답본문을 어떻게 압축했는지
gzipContent-Disposition
응답브라우저에 띄울지 내려받게 할지. 파일 이름도 여기서 정한다
attachment; filename="report.pdf"Accept
요청클라이언트가 받고 싶은 형식
application/jsonAccept-Encoding
요청클라이언트가 풀 수 있는 압축 방식
gzip, brAccept-Language
요청클라이언트가 원하는 언어
ko-KR,ko;q=0.9Content-Range
응답부분 응답에서 전체 중 어느 구간인지
bytes 200-1000/67589Range
요청파일의 일부만 달라고 요청한다. 이어받기와 동영상 탐색에 쓰인다
bytes=0-1023캐시
Cache-Control
요청·응답캐시를 어떻게 다룰지. 가장 많이 찾는 헤더
public, max-age=31536000, immutableETag
응답내용의 지문. 바뀌었는지 확인하는 데 쓴다
W/"3f8a2b"If-None-Match
요청ETag 가 그대로면 본문을 보내지 말라는 요청. 같으면 304 가 온다
W/"3f8a2b"Last-Modified
응답마지막으로 바뀐 시각
Wed, 21 Oct 2026 07:28:00 GMTIf-Modified-Since
요청그 뒤로 바뀌지 않았으면 본문을 보내지 말라는 요청
Expires
응답캐시가 만료되는 시각. Cache-Control 의 max-age 가 있으면 무시된다
Vary
응답어떤 요청 헤더에 따라 응답이 달라지는지. 빠뜨리면 캐시가 엉뚱한 응답을 준다
Accept-Encoding, Accept-LanguageAge
응답캐시에 들어간 지 몇 초 지났는지
인증
Authorization
요청인증 정보. Bearer 토큰이나 Basic 인증을 여기 담는다
Bearer eyJhbGciOi...WWW-Authenticate
응답어떤 방식으로 인증하라는 안내. 401 과 함께 온다
Basic realm="admin"Cookie
요청브라우저가 저장한 쿠키를 보낸다
Set-Cookie
응답브라우저에 쿠키를 저장시킨다
session=abc; HttpOnly; Secure; SameSite=LaxProxy-Authorization
요청프록시 서버에 보내는 인증 정보
CORS
Origin
요청요청을 보낸 출처. 브라우저가 자동으로 붙인다
https://dogus.co.krAccess-Control-Allow-Origin
응답어느 출처의 요청을 허용할지. CORS 오류의 대부분이 이 헤더 때문이다
https://dogus.co.krAccess-Control-Allow-Methods
응답사전 요청에 대해 허용하는 메서드
GET, POST, PUTAccess-Control-Allow-Headers
응답사전 요청에 대해 허용하는 요청 헤더
Access-Control-Allow-Credentials
응답쿠키를 실은 요청을 허용할지. true 면 Allow-Origin 에 * 를 쓸 수 없다
Access-Control-Max-Age
응답사전 요청 결과를 몇 초 동안 캐시할지
보안
Strict-Transport-Security
응답앞으로 이 도메인은 무조건 HTTPS 로만 접속하라는 지시
max-age=63072000; includeSubDomainsContent-Security-Policy
응답어떤 출처의 스크립트·이미지를 불러올 수 있는지 제한한다
default-src 'self'X-Content-Type-Options
응답nosniff 를 주면 브라우저가 Content-Type 을 무시하고 추측하지 않는다
nosniffX-Frame-Options
응답다른 사이트가 iframe 으로 감싸는 것을 막는다
DENYReferrer-Policy
응답다른 사이트로 넘어갈 때 이전 주소를 얼마나 알려줄지
strict-origin-when-cross-originPermissions-Policy
응답카메라·위치 같은 브라우저 기능의 사용을 제한한다
연결·전송
Connection
요청·응답연결을 이어 쓸지 끊을지. HTTP/2 부터는 쓰지 않는다
keep-aliveKeep-Alive
요청·응답연결을 얼마나 유지할지
timeout=5, max=1000Transfer-Encoding
응답본문을 어떻게 나눠 보내는지. chunked 면 길이를 미리 모른다는 뜻
chunkedUpgrade
요청·응답다른 프로토콜로 바꾸자는 요청. 웹소켓이 이걸 쓴다
websocketRetry-After
응답몇 초 뒤에 다시 시도하라는 안내. 429·503 과 함께 온다
120Location
응답옮겨간 주소. 3xx 리다이렉트와 201 응답에 쓰인다
맥락 정보
Host
요청어느 도메인에 보내는 요청인지. HTTP/1.1 에서 필수다
dogus.co.krUser-Agent
요청클라이언트 프로그램 정보. 형식이 지저분해 파싱이 까다롭다
Referer
요청어느 페이지에서 넘어왔는지. 철자가 Referrer 가 아니라 Referer 인 것은 초기 규격의 오타가 굳은 것이다
X-Forwarded-For
요청프록시를 거친 원래 클라이언트 IP. 표준은 아니지만 사실상 널리 쓰인다
203.0.113.5, 198.51.100.1X-Forwarded-Proto
요청프록시 앞단에서 쓴 프로토콜. 뒤쪽 서버가 HTTPS 여부를 알 수 있다
httpsServer
응답서버 소프트웨어 정보. 보안상 자세히 밝히지 않는 편이 낫다
Date
응답응답을 만든 시각
사용 방법
- 1헤더 이름이나 하는 일을 검색창에 넣습니다.
- 2"캐시", "CORS", "보안" 같은 분류 이름으로도 찾습니다.
- 3요청·응답 표시와 예시 값을 확인하고 복사해 씁니다.
자주 묻는 질문
보내는 방향이 다릅니다. 요청 헤더는 클라이언트가 서버로, 응답 헤더는 서버가 클라이언트로 보냅니다. Cookie(요청)와 Set-Cookie(응답)처럼 짝처럼 보여도 방향이 반대인 경우가 많아 엉뚱한 쪽에 넣는 실수가 잦습니다. Content-Type처럼 양쪽에 다 쓰이는 헤더도 있습니다.
대부분 Access-Control-Allow-Origin입니다. 서버가 이 헤더로 허용 출처를 밝히지 않으면 브라우저가 응답을 차단합니다. 쿠키를 함께 보내는 요청이라면 Access-Control-Allow-Credentials도 true여야 하고, 이 경우 Allow-Origin에 *를 쓸 수 없어 정확한 출처를 적어야 합니다.
초기 HTTP 규격을 쓸 때 Referrer의 r을 하나 빠뜨린 오타가 그대로 표준이 되었기 때문입니다. 지금도 이 헤더는 Referer로 씁니다. 다만 나중에 만들어진 Referrer-Policy 헤더는 철자가 맞습니다.
같은 주소인데 요청 헤더에 따라 응답이 달라질 때 캐시가 엉뚱한 응답을 주는 것을 막습니다. 예를 들어 Accept-Language에 따라 언어가 달라지는데 Vary를 빠뜨리면, 한국어 응답이 캐시된 뒤 영어를 원하는 사용자에게도 그대로 나갑니다.
HTTP 규격상 헤더 이름은 대소문자를 가리지 않습니다. 다만 관례로 각 낱말의 첫 글자를 대문자로 씁니다(Content-Type). HTTP/2부터는 규격상 소문자로만 전송되므로 개발자 도구에서 소문자로 보이는 것이 정상입니다.
알아두면 좋은 점
- 자주 쓰이는 헤더만 모은 목록이며 전체 IANA 등록 목록이 아닙니다.
- X-Forwarded-For처럼 표준은 아니지만 사실상 널리 쓰이는 헤더도 포함했습니다.
- Cache-Control 등의 세부 지시어는 다루지 않습니다. 헤더가 하는 일까지만 담았습니다.
함께 보면 좋은 도구
마지막 검증: 2026년 8월 29일 · 결과는 참고용 추정치입니다.