前端 | 在iOS11上开发H5页面踩坑记(一)

HTTP.png

遇到的问题

在发送请求时,Accept-Language 不小心传了一个错误的字符串 ,如图

image.png

在安卓和iOS10系统中都不报错,但是在iOS11中报错

分析

当Accept-Language的值有特殊符号,比如&,=,iOS11系统的浏览器并不会做处理,而是把它当做用户自定义的值,从 浅谈 preflight request一文中可以看出,这会触发浏览器发送预检请求,因为服务器端不允许Accept-Language的值为zh-hans&from=timeline&isappinstalled=0,所以就报错了

而iOS10或者安卓系统的浏览器当判断Accept-Language的值有特殊符号时,会取特殊符号前的字符串当做实际传到服务器的值,在本例中就是 zh-hans,这对浏览器来说是个合法值,并且不是用户自定义的值,所以不会发送预检请求,就顺利请求成功了

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 136,288评论 19 139
  • 本篇文章篇幅比较长,先来个思维导图预览一下。 一、概述 1.计算机网络体系结构分层 2.TCP/IP 通信传输流 ...
    涤生_Woo阅读 55,998评论 24 557
  • 了不可得,当下便是无我无他,忘了西东古镜狂心,寻得空花红尘朵朵,雨雾云云 王兄指点迷津: 本自具足,当下便是有我有...
    板凳扫地僧阅读 1,679评论 0 0
  • Medium, Msc Question 复制一个无向graph。graph的每个节点包含一个label和以个ne...
    穿越那片海阅读 2,325评论 0 0
  • input 把input的外边框放在内部(这样input外边框不占用多余像素)标准盒子类型转ie盒子类型 ie盒子...
    _Enco_阅读 2,656评论 0 0

友情链接更多精彩内容