在Firefox中使用Ctrl+ 保存网站以供离线阅读时S,我注意到尽管网页已加载,但下载过程仍需花费几秒钟才能完成。
我想知道保存这样的网页是否会使Firefox第二次获取所有内容(HTML,图像,JavaScript,CSS等),还是仅从缓存中已加载的文件中获取它。
在Firefox中使用Ctrl+ 保存网站以供离线阅读时S,我注意到尽管网页已加载,但下载过程仍需花费几秒钟才能完成。
我想知道保存这样的网页是否会使Firefox第二次获取所有内容(HTML,图像,JavaScript,CSS等),还是仅从缓存中已加载的文件中获取它。
Answers:
不,它不会触发第二个请求。
我只是通过运行一个简单的HTTP服务器记录请求来测试它。保存网站时,服务器未收到第二个请求。
python -m SimpleHTTPServer 7070
)编辑:
评论者询问服务器是否正在发送“无缓存”标头的不同行为。我用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)
不,不是。
通过断开计算机与Internet的连接,然后保存已经加载的网页,我刚刚测试了此代码,没有任何代码。
有效。您可以自己进行相同的测试。
可以肯定的是,如果计算机处于联机状态或脱机状态,则行为可能会有所不同,但是当前的最高答案显示了更深入的测试。我只是认为进行简单测试仍然很有价值。
与其他答案相反,Firefox 59.0确实第二次下载了图像(在我的测试中),但没有下载HTML文件。
我加载了任意图像(https://cdn.shopify.com/s/files/1/1613/3867/products/GS_cat_feeding_reminder_forget_someone.png?v=1520745318),并使用ctrl+ s保存了它。