【问题标题】:Windows Phone 8 & Internet Explorer 10 caches 302 redirectsWindows Phone 8 和 Internet Explorer 10 缓存 302 重定向
【发布时间】:2013-09-21 13:53:48
【问题描述】:

我们正在开发一款适用于移动设备的网络应用,但在 Windows Phone 8 和 Internet Explorer 10 中遇到了罕见的缓存问题。

我们的应用基于 JSF 和 jQueryMobile。我们正在使用 de“redirect-after-post”系统进行导航。

当我们调用新页面时,应该执行两个请求,因此它们在所有操作系统中都是导航器,除了我们心爱的 Microsoft 系统(WP8 和 IE10,诺基亚 Lumia 620):

  1. 导航器请求 URL
  2. 服务器返回新位置的 HTTP 302 状态
  3. 导航器请求新位置

事实上,WP8 & IE10 并没有执行最后一个请求,而是显示一个缓存的结果。我们在 302 响应中包含“Cache-control”、“Pragma”和“Expires”标头,以使导航器不显示缓存页面,但 IE10 会忽略它们。

有解决这个问题的线索吗?

感谢和问候

【问题讨论】:

    标签: jquery-mobile caching windows-phone-8 internet-explorer-10 http-status-code-302


    【解决方案1】:

    尝试强制在第 2 步中返回的 Uri 是唯一的(在查询字符串的末尾附加一个随机或递增的值)。
    这可以解决 SDK 中 HttpWebRequest 类中的缓存行为。

    【讨论】:

    • 使 302 重定向 URI 唯一可以正常工作,但我们在避免导航器缓存方面做得更深入。
    • 我们不知道为什么,但是在每个响应中创建一个包含“无缓存”标头的 servlet 过滤器(我们使用了适合我们需要的映射)解决了这个问题。我们已经在所有重定向中包含了标头,但对于 WP8 和 IE10 来说似乎还不够...
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-08-05
    • 2012-10-27
    • 1970-01-01
    • 2014-04-25
    • 1970-01-01
    • 1970-01-01
    • 2013-09-13
    相关资源
    最近更新 更多