gpt4 book ai didi

javascript - node js express 在输入时检测谷歌浏览器的地址栏自动完成

转载 作者:搜寻专家 更新时间:2023-11-01 00:21:34 24 4
gpt4 key购买 nike

我正在开发一个使用 nodejs 和 express 的服务器端程序,它按预期工作,但是,当我输入时(甚至没有 2 个域字符),服务器捕获了 google chrome 请求(并发送响应作为返回)。

如何在输入地址时停止我的服务器程序响应 google chrome 请求,即使是在开头字母处也是如此(它完成但不输入,我总是按回车键)但不是当它是用户的实际请求。

谷歌浏览器是否会对未访问的网站执行此操作?

是否有一个特殊的请求参数来对此进行过滤,以便我只能选择真实的客户端请求而不是浏览器内部(但入站到我的服务器)请求?

当我在地址栏上写一些东西时,比如“我怎么能”,它会自动完成一个(已经访问过的)“查询一个集合”(可能是来自该站点的请求)并且就在底部有(未访问过)“爱”。谷歌浏览器是否向从未访问过的爱情建议网站发出 http 请求?

谷歌浏览器版本:54.0.2840.99 m(64 位)

也许这是具有某些预取技术的浏览器的正常行为?

最佳答案

这称为预呈现,它会在您完成键入 URL 之前在后台加载网页以加快页面加载性能。

这似乎在服务器端检测不到。

Chromium 项目为此打开了一个问题。它被标记为“不会修复”(Prerendering does not have any distinguishing HTTP headers)。预取请求不会显示在开发工具的“网络”选项卡中,因此您无法通过查看 header 轻松确认这一点。当使用 Wireshark 检查它们时,不幸的是,预渲染请求与“正常”请求没有区别。

您可以如下所示手动关闭此功能,但遗憾的是您无法区分服务器端的实际请求。

  1. 在您的计算机上,打开 Chrome。
  2. 点击右上角的“菜单”,然后点击“设置”。
  3. 点击底部的显示高级设置。
  4. 在“隐私”部分,取消选中“使用预测”旁边的框服务以更快地加载页面。”

SO 引用:https://stackoverflow.com/a/35091410/7055233

关于javascript - node js express 在输入时检测谷歌浏览器的地址栏自动完成,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40813621/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com