네트워크

리퍼러 정책 이란 무엇인가 Referrer Policy 개념 (ChatGPT)

stacknstack 2023. 8. 5. 22:00
728x90
반응형

리퍼러 정책이 무엇인가요?

아래 이미지를 보자. 개발자 도구 > 네트워크 탭에서 만날 수 있는 헤더 탭의 리퍼러 정책.

리퍼러 정책이 무엇인지, 옵션 strict-origin-when-cross-origin 은 무엇인지 알아보자.

리퍼러 정책? strict-origin-when-cross-origin?

리퍼러 정책 개념

Referrer Policy 는 웹 페이지가 다른 페이지로 링크 될 때, 웹이 어떻게 "Referrer" 헤더를 처리해야 하는지 검사하는 보안 관련 연결 정책이다.

리퍼러 정책은 전달 정책이다!

무엇을 전달하는가? 현재 페이지의 URL 정보를

어디에 담아 전달하는가? "Referer" 헤더에

어디로 전달하는 가? 이동하는 페이지

왜 전달하는 것인가? 사이트 간 정보 전달을 위해

리퍼러 정책 옵션은?

  1. no-referrer
    1. 참조 헤더를 전송하지 않겠다. 현재 페이지의 URL 정보를 이동하는 페이지로 전달하지 않겠다.
    2. 가장 높은 수준을 제공한다.
  2. no-referrer-when-downgrade
    1. HTTPS 로 페이지로 전환되면 Referer 헤더를 전송한다.
    2. HTTPS 에서 HTTP 로 전환하면 Referer 헤더를 전송하지 않는다.
    3. 예를 들어, 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 으로 전달하겠죠?
  3. origin
    1. 출처가 동일할 때만 Referer 헤더를 전송한다.
    2. 예를 들어, https://example.com/page.html 페이지는 https://example.com/ 로 referrer 을 보낸다.
  4. origin-when-cross-origin
    1. HTTP 에서 HTTP 로 혹은 HTTPS 에서 HTTPS 로,
      프로토콜 수준이 동일할 때 Referer 헤더를 전송한다.
    2. HTTPS 에서 HTTP 로 이동하려는 경우, Referer 헤더를 전송한다.
  5. same-origin
    1. 동일한 출처(same-origin)로 링크된 페이지로 전환되었을 때에만 Referer 헤더를 전송한다.
    2. 동일한 이름, 수신자, 포트 번호를 페이지로 설정할 수 있는 Referer 정보가 전송된다.
    3. 예를 들어, www.google.com 에서 https://www.google.com/search?q=referer 으로 이동하면
      www.google.com 의 Referer 헤더를 https://www.google.com/search?q=referer 으로 전달하겠죠?
  6. strict-origin
    1. HTTP 에서 HTTP 로 혹은 HTTPS 에서 HTTPS 로,
      프로토콜 수준이 동일할 때 Referer 헤더를 전송한다.
    2. HTTPS 에서 HTTP 로 이동하려는 경우, Referer 헤더를 전송하지 않는다.
      (origin-when-cross-origin 보다 엄격한 보안)
  7. strict-origin-when-cross-origin
    1. HTTPS 에서 HTTPS 으로, 프로토콜 보안 수준이 동일할 때,
      동일 출처 요청(same-origin request)일 때 Referer 헤더를 전송한다.
      (strict-origin 보다 엄격한 보안)
    2. 기본 옵션이다.
  8. unsafe-url
    1. 보안과 무관하게, 어떤 요청에도 referrer 헤더를 전송한다.
    2. 보안에 유의하여 사용이 필요하다.

그래서...

  • http 에서 https 로 전환이 대부분 이러졌고, 주워 들은 소식에 의하면 안전하지 않은 웹도 https 를 사용한다 하니, 더 이상 referrer 정책의 https 관련 정책은 무의미해 질까?
  • https 와 별도로, referrer 정책은 header를 보낼지 말지를 결정할 때, 유효할 것 같다.
  • 받은 referrer header 내용을 어디에 사용하는지 궁금하다.

출처 | ChatGPT, MDN - Referrer-Policy

728x90
반응형