• 登录
  • 关于我们
  • 首页

NinJa911 Blog

记录我的生活点点滴滴

  • 首页
  • GoLang
  • 生活琐碎
  • PHP之路
  • 设计之路
  • 关注网络
  • 应用开发
  • 服务器运维
  • 麻子相册

苹果IOS6下又爆一个Bug,Safari在post情况被缓存

分类:关注网络 评论:0 浏览: By 张麻子 @2012-10-15 14:59客户端:PC浏览器
近期许多开发人员发现他们的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 不会缓存

【解决方案】


  1. 所以当前开发人员可以做的就是将所有有POST请求的地方以及返回的内容部分加入no-cache声明。
  2. ajax请求设置cache:false
  3. 使用第三方浏览器比如Google Chrome、UC


本文地址:http://blog.ninja911.com/blog-show-blog_id-36.html

除非注明,本站博文或媒介均为原创,转载请注明出处,欢迎转载。

tags: #Bug #IOS #Safari #缓存 #苹果 #解决方案
评论
留言
引用:
1

关于我

网名:ninja911

小名:张麻子

擅长:网页设计、PHP编程、DIV+CSS、Javascript、JQuery、Ajax、SEO、AAuto、Python

Email:ninja911@qq.com

职业:PHP工程师

现居:四川省成都市

RSS订阅

标签
安装 AAuto 自动 PHP Windows8 flash Google Windows 解决 css nbcompressor 红包 JetBrains uploadify 脚本 Android Laravel 工具 电商 模块 百度 网站 注册机 注册码 解决方案 Linux Ecshop IE 快手 支持 Go 博客 njcms 浏览器 教程 成都
日历
存档
  • 2015-11(3)
  • 2015-06(1)
  • 2015-05(1)
  • 2015-03(2)
  • 2015-01(2)
  • 2014-07(4)
  • 2014-06(3)
  • 2014-05(1)
  • 2014-04(3)
  • 2014-03(1)
  • 2014-01(8)
  • 2013-05(2)
  • 2013-04(8)
  • 2013-02(2)
  • 2013-01(3)
  • 2012-12(1)
  • 2012-11(6)
  • 2012-10(13)
  • 2012-09(4)
  • 2012-08(24)
友情链接
  • Lincoo
  • jalena's Blog
  • AAuto快手官网
  • 花与剑 Blog
  • 时空镜像

©2011 - Blog.NinJa911.COM 保留所有权利

蜀ICP备11022085号-5    Powered By NJCMS