如何在PHP中从浏览器检测预取?

如何在PHP中从浏览器检测预取?,php,apache,prefetch,Php,Apache,Prefetch,某些页面可以由浏览器预取(请参阅或)。如何在PHP中检测请求是预取请求 是否有不特定于浏览器的方法 (注:我使用Apache。)这个问题非常类似于“如何检测是否启用了Cookie?”。但您必须使用客户端重定向,因为预取页面在加载主页之后开始加载 直接预取请求可以通过标头(X-Moz:prefetchfor FF)检测,也可以通过向链接传递附加参数来检测 另外,如果没有启用Cookie,您无法为客户端检测到它,只能为每个目录预取请求检测到它。我正在寻找一个类似的答案来停止FF和其他浏览器抛出我的服

某些页面可以由浏览器预取(请参阅或)。如何在PHP中检测请求是预取请求

是否有不特定于浏览器的方法


(注:我使用Apache。)

这个问题非常类似于“如何检测是否启用了Cookie?”。但您必须使用客户端重定向,因为预取页面在加载主页之后开始加载

直接预取请求可以通过标头(
X-Moz:prefetch
for FF)检测,也可以通过向链接传递附加参数来检测


另外,如果没有启用Cookie,您无法为客户端检测到它,只能为每个目录预取请求检测到它。

我正在寻找一个类似的答案来停止FF和其他浏览器抛出我的服务器端页面计数

根据上面的文章,Firefox发送了一个标题,这使得它很容易被检测到,但是Chrome白皮书声明Chrome没有给服务器任何指示。Chrome白皮书指出,外部分析解决方案(用JS编写的脚本)在使用


我的建议是编写自己的JS脚本来检测页面是否可见。

预回迁没有得到广泛支持。如果你能检测到它,你会怎么处理这些信息?事实上,预渲染和预取都有!这让我很头疼,因为在这些请求中,Cookie被发送到服务器,但它们没有得到更新,这给我造成了许多会话更新问题,特别是因为无法区分这些请求和实际请求。@user1864610我有一个表单令牌,每次访问页面时都会刷新。此功能始终使表单标记无效。