这不是一个“编码问题”,而更像是“它是如何工作的?”
假设我想在第2页显示一张很重的图片,如果我在第1页(没有显示)上预加载这张图片,并在它完全加载之前单击page -2链接……会发生什么?
=>页面2加载并且重图片的结尾也被加载,或者缓存对于部分加载的文件不起作用?
谢谢你的解释,
CH
发布于 2012-03-31 15:30:13
从理论上讲,响应的一部分很可能被缓存,要么由web浏览器缓存,要么由最终用户和web服务器之间的代理服务器缓存。http支持range请求,客户端可以请求总资源的特定切片(如图像)。所有大名鼎鼎的web服务器都支持range请求。
我真的不知道是否有web浏览器缓存了部分下载的资源,尽管这将是一个简单的测试-清除web浏览器缓存,命中加载大型外部对象的网页,中途停止加载。确保with服务器将以下标头与响应一起发送。
cache-control: max-age=10000
accept-ranges: bytes
现在再次发出请求,但请查看请求的http头,以查找请求部分内容的浏览器,如Range: bytes=100000-90000000
。如果它已经部分缓存了文件,那么它显然只会请求部分内容。
max-age标头告诉浏览器文件可以缓存一段时间,而accept-ranges标头告诉浏览器web服务器能够为部分内容请求提供服务。
https://stackoverflow.com/questions/6779899
复制相似问题