【问题标题】:Prevent AJAX POST responses from being cached防止缓存 AJAX POST 响应
【发布时间】:2018-08-14 05:39:39
【问题描述】:

我的网页生成了 AJAX POST 请求,并且可能有多个帖子请求具有相同的帖子数据。但是响应可能会有所不同,我想确保我没有收到对任何这些请求的缓存响应。我需要每个请求来访问网页。

我是否正确假设对 POST 请求的响应不会被缓存?

【问题讨论】:

    标签: ajax http


    【解决方案1】:

    该过程将涉及两级缓存

    • 浏览器缓存
    • 服务器缓存

    要消除第一个,您必须欺骗您的浏览器并在您的 ajax 请求中添加一个虚假参数,以便它每次都认为它是唯一的,即

    www.example.com/api/ajax?123
    www.example.com/api/ajax?1234
    

    对于服务器级别,您必须确保没有为此类链接的配置添加缓存,例如,某些开发人员将缓存任何以 .json 结尾的文件或 Cloud Flare 之类的服务,它会自动缓存任何静态内容。

    【讨论】:

    • 防止浏览器缓存的方法是在服务器的响应中添加适当的Cache-Control 标头。添加随机参数是不必要的黑客攻击。
    • 我知道这对于 GET 请求是正确的,防止这种情况的简单方法是在查询字符串中添加时间戳或类似的东西。但是 POST 请求也会被缓存吗?我知道没有服务器端缓存。 POST 请求正在访问 MVC 页面。
    • 只要服务器上没有缓存,post请求就不会被缓存
    猜你喜欢
    • 1970-01-01
    • 2015-07-31
    • 2014-11-23
    • 1970-01-01
    • 2012-09-29
    • 2014-06-17
    • 2012-04-13
    • 2011-12-18
    • 1970-01-01
    相关资源
    最近更新 更多