【问题标题】:Implementing If-Modified-Since client-side caching on jquery-stream plugin在 jquery-stream 插件上实现 If-Modified-Since 客户端缓存
【发布时间】:2012-01-22 02:34:30
【问题描述】:

我有一个需要从服务器流式传输 JSON 的用例,现在我正在研究缓存响应。与 JQuery 的 .ajax 函数不同,jquery-stream 提供的 .stream 函数似乎不支持 IfModified HTTP 标头。我已设法更改源以设置 If-Modified-Since 标头,但我不确定如何访问客户端缓存以使用缓存响应而不是服务器响应。目前,jquery-stream 检测到 304(未修改)然后关闭流,将 xhr 对象上的 responseText 留空。有没有办法手动访问客户端缓存,或许可以使用 data() 函数?

如果我找到答案,我将尝试实施它并将更改提交到 jquery-stream 项目。

【问题讨论】:

    标签: jquery json caching http-streaming jqxhr


    【解决方案1】:

    首先,我想知道您为什么对长期请求的客户端缓存感到担忧。我通过附加时间戳参数强制浏览器不缓存流请求。 prepareURL function 做到了。

    由于 iframe 和 xdr 传输无法发送请求标头,因此您的实现通常无法应用,即使它适用于 xhr 传输。很遗憾。

    感谢您的意见。

    -- 东焕

    【讨论】:

    • 所以用例是我需要从一个长时间运行的过程中创建一个 JSON 文档,该过程将逐渐返回结果。我正在使用流式实现在 JSON 准备好后通过网络发送 JSON,这样当请求完成时,整个文档就已经到达。但是,在我需要重新生成它之前,这个文档将在几分钟内保持不变,所以我打算使用 If-Modified-Since 让浏览器知道没有任何改变,以防客户端刷新他们的页面给定时间限制。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-04-21
    • 2012-11-01
    • 2011-10-03
    • 2023-03-31
    • 2023-04-08
    • 2020-12-27
    相关资源
    最近更新 更多