사용자가 귀하의 사이트를 클릭 할 것으로 생각되는 링크를 미리 가져 오도록 Chrome을 안내 할 수 있지만 그 반대도 가능합니까? Chrome (또는 다른 브라우저)이 사이트를 프리 페치 및 사전 렌더링하지 말라고 할 수 있습니까 ?
브라우저에 현재 표시된 페이지에서 미리 가져 오기 링크를 수행하면 안된다고 알리는 태그 또는 다른 방법이 있습니까?
사용자가 귀하의 사이트를 클릭 할 것으로 생각되는 링크를 미리 가져 오도록 Chrome을 안내 할 수 있지만 그 반대도 가능합니까? Chrome (또는 다른 브라우저)이 사이트를 프리 페치 및 사전 렌더링하지 말라고 할 수 있습니까 ?
브라우저에 현재 표시된 페이지에서 미리 가져 오기 링크를 수행하면 안된다고 알리는 태그 또는 다른 방법이 있습니까?
답변:
X-Purpose: preview
웹 콘텐츠를 프리 페치 / 렌더링 할 때 Chrome 및 Safari에서 HTTP 헤더를 보냅니다 . [ 출처 ]
Firefox는라는 유사한 헤더를 보냅니다 X-moz: prefetch
. [ 출처 ]
프리 페치를 차단하기 위해 Peter Freitag가 제안한대로 블로그 헤더에서 제안한대로 이러한 헤더가 감지되면 404 응답을 반환 할 수 있습니다. .htaccess
Firefox 프리 페치를 차단 하기 위해 다음 행을 추가하는 것이 좋습니다 .
RewriteEngine On
SetEnvIf X-moz prefetch HAS_X-moz
RewriteCond %{ENV:HAS_X-moz} prefetch
RewriteRule .* /prefetch-attempt [L]
다음과 같이 Firefox, Safari 및 Chrome 프리 페치를 차단하도록 확장 할 수 있습니다.
RewriteEngine On
SetEnvIf X-moz prefetch HAS_preview
SetEnvIf X-Purpose preview HAS_preview
RewriteCond %{ENV:HAS_preview} .
RewriteRule .* /prefetch-attempt [L]
Chrome은 더 이상 사전 렌더링 요청에 특별한 헤더를 보내지 않습니다. 보다:
위의 답변은 저에게 효과적이지 않았습니다. 그러나 효과가 있었던 것은 다음과 같습니다.
RewriteEngine On
SetEnvIfNoCase X-Forwarded-For .+ proxy=yes
SetEnvIfNoCase X-moz prefetch no_access=yes
# block pre-fetch requests with X-moz headers
RewriteCond %{ENV:no_access} yes
RewriteRule .* - [F,L]
보낸 사람 : askapache.com
[F] 플래그는 브라우저에 403 Forbidden 상태 코드를 반환하고 [L]은 규칙이 처리 할 마지막 규칙이어야 함을 나타냅니다.
또한 크롬은 링크를 더 이상 프리 페치하지 않는 것 같습니다 (적어도 prev / next 메타 태그의 경우).