Referer
요청 헤더 Security

개요

Referer는 현재 요청이 시작된 이전 페이지의 URL, 즉 사용자가 어떤 페이지의 링크·리소스를 통해 이 요청에 도달했는지를 알려주는 요청 헤더입니다. 트래픽 출처 분석·유입 통계·기본적인 접근 제어에 쓰입니다.

자세히

이름의 'Referer'는 사실 'Referrer'의 철자 오류입니다. 1990년대 초기 명세에 오타가 그대로 표준으로 굳어져, 오늘날에도 헤더 이름은 철자가 틀린 채 유지됩니다(반면 나중에 만들어진 정책 헤더는 올바른 철자 `Referrer-Policy`를 씁니다). 이 철자 불일치는 실무에서 흔한 혼동의 원인입니다.

Referer는 프라이버시·보안 문제를 안고 있습니다. 전체 URL이 노출되면 검색어·세션 토큰·내부 경로 같은 민감 정보가 외부 사이트로 새어 나갈 수 있습니다. 이를 통제하려고 `Referrer-Policy` 응답 헤더가 도입되어, 참조자를 아예 보내지 않거나(no-referrer), 오리진만 보내거나(origin), 교차 출처에서는 축소해 보내는(strict-origin-when-cross-origin, 현대 브라우저 기본값) 등의 정책을 지정합니다.

HTTPS 페이지에서 HTTP 페이지로 이동할 때는 브라우저가 기본적으로 Referer를 보내지 않아, 다운그레이드로 인한 정보 유출을 막습니다.

문법

Referer: <absolute-or-partial-URL>

e.g. Referer: https://www.example.com/search?q=headers

실무 참고

관련 헤더

스펙 근거