首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何区分“预取”页面请求和普通请求?

如何区分“预取”页面请求和普通请求?
EN

Server Fault用户
提问于 2010-01-11 04:38:00
回答 2查看 138关注 0票数 0

“预取”可能不是最广泛使用的术语,但无论如何,我指的是在用户实际请求之前请求页面的浏览器插件。(例如,当一个新页面加载并开始读取时,浏览器将预取该页面上的所有链接(因为它不知道要单击哪个链接)。

火狐插件、Fasterfox和谷歌的网络加速器(似乎不再可下载)是我所知道的两个插件。

这种请求在Apache事件日志中与普通页面请求有区别吗?

EN

回答 2

Server Fault用户

回答已采纳

发布于 2010-01-11 13:35:25

Firefox预取请求的HTTP头X设置如下

代码语言:javascript
复制
'X-moz: prefetch'

因此,您可以从CGI脚本或类似的脚本中识别预取,但不能从默认日志格式的apache日志文件中识别预取。如果定义了自定义日志文件格式,则可以包括X头的内容,其中存在:

代码语言:javascript
复制
%...{X-moz}i

因此,调整默认日志格式,将其包含在日志行的末尾:

代码语言:javascript
复制
LogFormat "%h %l %u %t \"%r\" %>s %b %{X-moz}i"

在HTML5中有一些关于标准化预取的工作,但目前HTML5草案中没有任何东西要求或建议UA标识对服务器的此类请求。

有关更多信息,请参见mozilla developer关于预取的常见问题:

https://developer.mozilla.org/en/Link_预取_常见问题

票数 1
EN

Server Fault用户

发布于 2010-01-11 07:07:29

由于它们可能会使用与常规页面请求相同的用户代理,所以很难做到这一点。你也许可以写一些东西来区分它的时间模式--一个页面的请求,然后是对其他页面的大量请求,比人类请求的速度更快。然而,你可能会在那里得到很多假阳性。

票数 0
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/101395

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档