首页 > 解决方案 > 防止缓存截断的 HTTP 响应

问题描述

我们在我们的一台开发机器上看到了这个问题——我们的 Angular 项目中的 vendor.js 包不知何故被缓存了,同时被截断了,这会破坏 Web 应用程序,直到您清除缓存。

我们确实使用了浏览器缓存(连同 URL 散列,因此缓存不会阻止应用程序更新)。

有什么办法可以防止浏览器缓存截断的请求?实际上,我会认为浏览器具有此内置功能(即它不会缓存字节标头与下载量不匹​​配的请求)。

我们重现问题的浏览器是 Chrome。

标签: httpresponsebrowser-cache

解决方案


我想我找到了问题——无论出于何种原因,我们的 HTTP 响应在响应标头中缺少“Content-Length”标头。

响应通过 2 个代理,因此其中一个可能会删除“Content-Length”标头。


推荐阅读