네트워크
리퍼러 정책 이란 무엇인가 Referrer Policy 개념 (ChatGPT)
stacknstack
2023. 8. 5. 22:00
728x90
반응형
리퍼러 정책이 무엇인가요?
아래 이미지를 보자. 개발자 도구 > 네트워크 탭에서 만날 수 있는 헤더 탭의 리퍼러 정책.
리퍼러 정책이 무엇인지, 옵션 strict-origin-when-cross-origin 은 무엇인지 알아보자.
리퍼러 정책 개념
Referrer Policy 는 웹 페이지가 다른 페이지로 링크 될 때, 웹이 어떻게 "Referrer" 헤더를 처리해야 하는지 검사하는 보안 관련 연결 정책이다.
리퍼러 정책은 전달 정책이다!
무엇을 전달하는가? 현재 페이지의 URL 정보를
어디에 담아 전달하는가? "Referer" 헤더에
어디로 전달하는 가? 이동하는 페이지
왜 전달하는 것인가? 사이트 간 정보 전달을 위해
리퍼러 정책 옵션은?
- no-referrer
- 참조 헤더를 전송하지 않겠다. 현재 페이지의 URL 정보를 이동하는 페이지로 전달하지 않겠다.
- 가장 높은 수준을 제공한다.
- no-referrer-when-downgrade
- HTTPS 로 페이지로 전환되면 Referer 헤더를 전송한다.
- HTTPS 에서 HTTP 로 전환하면 Referer 헤더를 전송하지 않는다.
- 예를 들어, https:www.website.com 에서 http://www.othersite.com 으로 이동한다면, 전송하지 않는다.
https://www.website.com 에서 https://www.othersite.com 으로 이동한다면,
https://www.website.com 의 Referer 헤더를 https://www.othersite.com 으로 전달하겠죠?
- origin
- 출처가 동일할 때만 Referer 헤더를 전송한다.
- 예를 들어, https://example.com/page.html 페이지는 https://example.com/ 로 referrer 을 보낸다.
- origin-when-cross-origin
- HTTP 에서 HTTP 로 혹은 HTTPS 에서 HTTPS 로,
프로토콜 수준이 동일할 때 Referer 헤더를 전송한다. - HTTPS 에서 HTTP 로 이동하려는 경우, Referer 헤더를 전송한다.
- HTTP 에서 HTTP 로 혹은 HTTPS 에서 HTTPS 로,
- same-origin
- 동일한 출처(same-origin)로 링크된 페이지로 전환되었을 때에만 Referer 헤더를 전송한다.
- 동일한 이름, 수신자, 포트 번호를 페이지로 설정할 수 있는 Referer 정보가 전송된다.
- 예를 들어, www.google.com 에서 https://www.google.com/search?q=referer 으로 이동하면
www.google.com 의 Referer 헤더를 https://www.google.com/search?q=referer 으로 전달하겠죠?
- strict-origin
- HTTP 에서 HTTP 로 혹은 HTTPS 에서 HTTPS 로,
프로토콜 수준이 동일할 때 Referer 헤더를 전송한다. - HTTPS 에서 HTTP 로 이동하려는 경우, Referer 헤더를 전송하지 않는다.
(origin-when-cross-origin 보다 엄격한 보안)
- HTTP 에서 HTTP 로 혹은 HTTPS 에서 HTTPS 로,
- strict-origin-when-cross-origin
- HTTPS 에서 HTTPS 으로, 프로토콜 보안 수준이 동일할 때,
동일 출처 요청(same-origin request)일 때 Referer 헤더를 전송한다.
(strict-origin 보다 엄격한 보안) - 기본 옵션이다.
- HTTPS 에서 HTTPS 으로, 프로토콜 보안 수준이 동일할 때,
- unsafe-url
- 보안과 무관하게, 어떤 요청에도 referrer 헤더를 전송한다.
- 보안에 유의하여 사용이 필요하다.
그래서...
- http 에서 https 로 전환이 대부분 이러졌고, 주워 들은 소식에 의하면 안전하지 않은 웹도 https 를 사용한다 하니, 더 이상 referrer 정책의 https 관련 정책은 무의미해 질까?
- https 와 별도로, referrer 정책은 header를 보낼지 말지를 결정할 때, 유효할 것 같다.
- 받은 referrer header 내용을 어디에 사용하는지 궁금하다.
출처 | ChatGPT, MDN - Referrer-Policy
728x90
반응형