httpresponse - 防止缓存截断的 HTTP 响应
问题描述
我们在我们的一台开发机器上看到了这个问题——我们的 Angular 项目中的 vendor.js 包不知何故被缓存了,同时被截断了,这会破坏 Web 应用程序,直到您清除缓存。
我们确实使用了浏览器缓存(连同 URL 散列,因此缓存不会阻止应用程序更新)。
有什么办法可以防止浏览器缓存截断的请求?实际上,我会认为浏览器具有此内置功能(即它不会缓存字节标头与下载量不匹配的请求)。
我们重现问题的浏览器是 Chrome。
解决方案
我想我找到了问题——无论出于何种原因,我们的 HTTP 响应在响应标头中缺少“Content-Length”标头。
响应通过 2 个代理,因此其中一个可能会删除“Content-Length”标头。