gpt4 book ai didi

ajax - 按下后退时,Chrome 使用 ajax 缓存版本

转载 作者:行者123 更新时间:2023-12-04 12:26:21 25 4
gpt4 key购买 nike

除了推送历史状态之外,我还使用 ajax 请求来加载新内容并更新整个页面。在服务器上,X-Requested-With header 用于决定发送整个页面还是仅发送内容。但似乎 chrome 倾向于使用缓存,无论它是加载 ajax 还是普通请求(检查缓存时它不尊重 header )。

当我打开一个站点页面时会出现问题,我单击一个链接以使用 ajax 导航到一个新页面,然后通过在地址栏中输入 url 导航到一个新页面。当我回击时,显示的是 ajax 缓存版本(无论是 html 还是 json)而不是整页。当缓存被禁用时,一切正常。

在检查缓存时,有什么方法可以强制 chrome 尊重请求 header ?

最佳答案

经过一些研究,我发现浏览器倾向于根据请求方法和 URL 缓存响应。因此,默认情况下,他们在检查缓存时不会考虑任何请求 header 。但是在使用 Vary header 检查缓存时,可以强制浏览器尊重某些 header 。

因此,通过将此 header ( Vary:X-Requested-With )添加到基于 X-Requested-With 请求 header 更改的每个响应中,服务器会告诉浏览器,如果您的 X-Requested- header 已更改,您必须请求新的响应。

关于ajax - 按下后退时,Chrome 使用 ajax 缓存版本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34790602/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com