ajax - XMLHttpRequests 是否缓存响应 header ?

标签 ajax http caching http-headers

如果我发出 XMLHttpRequest 并且浏览器缓存响应,它是否也会缓存 HTTP 响应 header ?也就是说,下次我发出相同的请求时,我是否会从 response.getResponseHeader 返回相同的值?

这取决于浏览器吗?

最佳答案

我敢肯定,至少主流浏览器不会尝试缓存 header 。但是,如果您想完全阻止缓存,您可能需要发送特殊的 header 。如果您想快速测试缓存行为,这里有一个页面:

http://www.mnot.net/javascript/xmlhttprequest/cache.html

如果您想查看实际发生的情况,我建议您使用 Wireshark 等数据包嗅探器并亲自查看。我可以想象浏览器至少对 XmlHttpRequest 执行 HEAD 请求,即使它为您提供了缓存的正文,但我可能是错的。

关于ajax - XMLHttpRequests 是否缓存响应 header ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5924911/

相关文章:

c# - 使用 C# 使用 Redis 缓存通用类型的对象

caching - nginx proxy_cache key hash 在每个其他浏览器请求上发生变化

jquery - 无法将ajax返回的数据插入输入字段

PHP:如何动态添加到http_build_query?

php - 从 PHP 发送 HTTP 请求而不等待响应?

java - 在 Android 中发布带有图像的多部分请求?

python - 解释器维护的整数缓存是怎么回事?

Javascript XMLHttpRequest——只有第一个 POST 请求有效

javascript - PHP读取DB值,JS递增,AJAX保存到DB,但为什么刷新页面之前默认为0.0?

javascript - 如何减少我的 magento 网站弹出窗口中的 js 和 css 加载时间