在 Firefox 中使用 Ctrl+S 保存网页是否会让浏览器再次加载该网站?

在 Firefox 中使用 Ctrl+S 保存网页是否会让浏览器再次加载该网站?

Ctrl当使用 Firefox 中的+保存网站以供离线阅读时S,我注意到虽然网页已经加载,但下载过程需要几秒钟才能完成。

我想知道这样保存网页是否会让 Firefox 第二次获取所有内容(HTML、图像、JavaScript、CSS 等),或者是否只会从缓存中已加载的文件中获取。

答案1

不,它不会触发第二次请求。

我只是通过运行一个简单的 HTTP 服务器来记录请求来测试它。保存网站时,服务器没有收到第二个请求。

  • 测试环境:Ubuntu 18.04 上的 Firefox 61.0.1(64 位)
  • 服务器:python 2.7.15的SimpleHTTPServer模块(python -m SimpleHTTPServer 7070

编辑:

评论者询问如果服务器发送“no-cache”标头,行为会有什么不同。我用和进行了测试,Pragma: No-Cache结果Cache-Control: No-Cache保持不变。

我用来做测试的代码(通过这个答案):

#!/usr/bin/env python
import SimpleHTTPServer

class MyHTTPRequestHandler(SimpleHTTPServer.SimpleHTTPRequestHandler):
    def end_headers(self):
        self.send_my_headers()

        SimpleHTTPServer.SimpleHTTPRequestHandler.end_headers(self)

    def send_my_headers(self):
        self.send_header("Pragma", "No-Cache")
        self.send_header("Cache-Control", "No-Cache")


if __name__ == '__main__':
    SimpleHTTPServer.test(HandlerClass=MyHTTPRequestHandler)

答案2

不,不是的。

我刚刚测试了这一点,无需任何代码,只需断开我的计算机与互联网的连接,然后保存一个已加载的网页即可。

成功了。你可以自己做同样的测试。


假设行为可以计算机在线或离线时会有所不同,但当前最佳答案显示了更深入的测试。我只是认为拥有一个简单的测试。

答案3

保存网页(ctrls)是否会让 Firefox 再次获取所有内容?

使用 Firefox 的开发者工具

  • 打开工具并点击“网络”选项卡。

  • 保存页面

您将看到没有产生额外的网络流量。

答案4

有可能。

CSS 有一个@media选择器。它允许 CSS 根据用于显示页面的硬件类型(打印机、不同尺寸的屏幕等)使用不同的定义。

CSS 还可以直接请求图像文件(项目符号图像、背景图像)。

现在,如果 Firefox 在显示页面时仅下载当前硬件所需的内容,但在保存到磁盘时下载所有内容,那么您可以有额外的请求。

警告:

这只是实际有用的答案的前半部分;后半部分将测试这种情况。不幸的是,我的时间不多了,所以如果有人能报告可重复的测试结果,我会接受任何编辑或评论。

相关内容