Referrer-Policy 추천기
사이트 유형에 맞는 Referrer-Policy 값을 추천하고 각 값의 동작을 비교합니다.
Referrer-Policy 응답 헤더는 사용자가 링크를 클릭하거나 리소스를 불러올 때 브라우저가 Referer 헤더로 어디까지 보내는지를 제어합니다. 너무 많이 보내면 전체 URL(쿼리스트링·세션 토큰 포함)이 외부 사이트로 새어 나갈 수 있고, 너무 적게 보내면 유입 분석이나 일부 인증 흐름이 깨질 수 있습니다.
이 도구는 사이트 성격(일반·개인정보 민감·분석/광고 의존)만 고르면 권장 Referrer-Policy 값을 바로 추천하고, 8가지 정책 값의 동작 차이를 한눈에 비교해 줍니다. 전체 보안 헤더 점검은 보안 헤더 점검, 함께 자주 설정하는 콘텐츠 보안 정책은 CSP 생성기를 참고하세요.
strict-origin-when-cross-origin| 응답 헤더 | Referrer-Policy: strict-origin-when-cross-origin |
|---|---|
| 추천 이유 | 최신 브라우저 기본값과 동일합니다. 같은 출처에는 전체 URL, 다른 출처에는 출처(origin)만 보내고 다운그레이드 시 아무것도 보내지 않아 안전과 호환성의 균형이 가장 좋습니다. |
| 값 | 동작 |
|---|---|
| no-referrer | 어떤 경우에도 Referer를 전혀 보내지 않음 |
| no-referrer-when-downgrade | 다운그레이드(HTTPS→HTTP)가 아니면 전체 URL을 보냄 (과거 기본값) |
| origin | 항상 출처(scheme+host+port)만 보냄 |
| origin-when-cross-origin | 같은 출처엔 전체 URL, 다른 출처엔 출처만 |
| same-origin | 같은 출처엔 전체 URL, 다른 출처엔 전혀 안 보냄 |
| strict-origin | 출처만 보내되 다운그레이드 시 아무것도 안 보냄 |
| strict-origin-when-cross-origin | 같은 출처엔 전체 URL, 다른 출처엔 출처만, 다운그레이드 시 아무것도 (현재 기본값) |
| unsafe-url비권장 | 다운그레이드 포함 항상 전체 URL을 보냄 — 위험, 비권장 |
왜 strict-origin-when-cross-origin이 기본인가
최신 브라우저는 정책 미설정 시 strict-origin-when-cross-origin을 기본값으로 사용합니다. 같은 출처에는 전체 URL을, 다른 출처에는 출처(origin)만 보내고, HTTPS→HTTP 다운그레이드에서는 아무것도 보내지 않습니다. 분석 도구가 유입 도메인을 인식할 수 있을 만큼은 보내면서, 경로·쿼리스트링 유출은 막는 균형점입니다.
- 일반 사이트:
strict-origin-when-cross-origin(사실상 기본값) - 개인정보 민감:
no-referrer또는same-origin - 분석·광고 의존:
strict-origin-when-cross-origin(출처는 유지)
피해야 할 값
unsafe-url은 다운그레이드 상황에서도 항상 전체 URL을 보냅니다. 쿼리스트링에 들어간 토큰·이메일·검색어가 제3자에게 그대로 전달될 수 있어 거의 모든 경우에 권장하지 않습니다. no-referrer-when-downgrade는 과거의 관대한 기본값으로, 교차 출처에 전체 URL을 보내므로 명시적으로 선택하지 않는 편이 좋습니다.
적용 방법
서버 응답 헤더로 내려주는 것이 가장 확실합니다. nginx는 add_header Referrer-Policy "strict-origin-when-cross-origin" always;, 메타 태그로는 <meta name="referrer" content="strict-origin-when-cross-origin"> 형태로 적용할 수 있습니다. 헤더와 메타 태그가 동시에 있으면 일반적으로 헤더가 우선합니다.