首页 » 市场趋势 » iOS6又爆Bug - Safari缓存POST的Ajax请求结果

iOS6又爆Bug - Safari缓存POST的Ajax请求结果

作者:  时间:2012-10-16 00:00  来源:中文业界资讯站

  近期许多开发人员发现他们的web应用在iOS6下发生一些奇怪的问题,许多用POST实现的诸如用户登陆、请求即时结果的功能在iOS6的Safari下都被缓存了,导致无法切换用户,无法获取最新的即时信息等。

  众所周知,POST这种非等冪请求的返回结果在HTML规范中,除非特别声明需要缓存,否则默认是不被浏览器缓存的,而iOS6中返回的json或者xml都是被缓存过的内容。我们有理由相信这是iOS6中的一个小Bug,但是对于开发人员来说却是噩梦。

  据了解iOS6中Safari的缓存机制如下:

  没有 Cache-Control 或者 Expires headers = iOS6 Safari 会缓存

  Cache-Control max-age=0 或者 immediate Expires = iOS6 Safari 会缓存

  Cache-Control: no-cache = iOS6 Safari 不会缓存

  所以当前开发人员可以做的就是将所有有POST请求的地方以及返回的内容部分加入no-cache声明。

相关推荐

2013年移动处理器大盘点之苹果三星

苹果  移动处理器  2014-01-08

iOS 7越狱迷雾:一场欺骗与愚弄的闹剧

苹果  iOS  2013-12-25

苹果憋大招:iPhone 6/iWatch齐曝光

苹果  iPhone  iWatch  2013-12-24

传2015年苹果A系列芯片将采用14纳米进程

苹果  芯片  2013-12-24

盘点2013电子科技行业最“烧钱”的企业

苹果  电子科技  2013-12-23

灵感来自iOS 7 全新苹果电视界面概念设计

苹果  电视  2013-12-18
在线研讨会
焦点