【发布时间】:2012-03-15 09:55:22
【问题描述】:
在正常的浏览器缓存期间,如果 Web 服务器中断并重新打开与客户端的 tcp 连接,浏览器是否会重新获取所有文件内容?
或者它是否仍会缓存所有内容并仅在新套接字上更新已更改的内容(没有区别)?
谢谢!
【问题讨论】:
在正常的浏览器缓存期间,如果 Web 服务器中断并重新打开与客户端的 tcp 连接,浏览器是否会重新获取所有文件内容?
或者它是否仍会缓存所有内容并仅在新套接字上更新已更改的内容(没有区别)?
谢谢!
【问题讨论】:
浏览器通过 HTTP 协议运行。它们可以缓存的内容和缓存时间由 HTTP 协议的特殊 instructions 决定(例如缓存控制标头)。
这些指令可以由网络服务器指定。另一方面,浏览器可以尝试尽可能多地缓存,除非它被特殊的 HTTP 指令禁止或违反 HTTP 协议,或导致不可预测的行为。
关于缓存和新的 TCP 连接:这里的 TCP 只是 HTTP 协议的传输,所以它应该对浏览器缓存没有影响。
【讨论】:
大多数现代浏览器会尽可能多地缓存内容,并且只会重新获取已更改的部分。当然,这必然受到浏览器缓存大小、远程 Web 服务器是否正确通知浏览器它试图获取的组件的年龄等限制。
【讨论】: