레퍼러는 사용자가 어느 경로로 웹사이트에 도달했는지 알려주는 정보다. (철자가 referrer와 다른데, 이는 RFC 1945 제안 당시 오타라고 한다..)
레러퍼 전송 규칙
RFC 2616에 따라 HTTPS 환경에서 통신 경로를 유출하는 것을 방지하기 위해 레퍼러 전송 규칙이 만들어졌다. 다음과 같다.
- HTTPS → HTTPS : 레퍼러 전송 O
- HTTPS → HTTP : 레퍼러 전송 X
- HTTP → HTTPS : 레퍼러 전송 O
- HTTP → HTTP: 레퍼러 전송 O
레퍼러 전송 정책
레퍼처 정책을 조정할 수 있다.
Referrer-Policy 헤더
<meta name="referrer" content="설정값">
<a> 태그등의 referrerpolicy 속성 또는 rel="noreferrer" 속성
레퍼처 정책으로서 사용할 수 있는 값은 다음과 같다.
- no-referrer: 전혀 보내지 않는다
- no-referrer-when-downgrade: HTTPS → HTTP 일때는 전송하지 않는다 (기본 동작)
- same-origin: 동일 origin 내에서만 전송한다
- origin: 상세 URL을 보내는 것이 아니라 도메인 이름만 보낸다
- strict-origin: origin과 같지만 HTTPS → HTTP 일때는 전송하지 않는다
- origin-when-crossorigin: 같은 도메인 내에서는 전체 URL을, 다른 도메인으로의 연결은 도메인 이름만 전송한다
- strict-origin-when-crossorigin: origin-when-crossorigin과 같지만 HTTPS → HTTP 일때는 전송하지 않는다