博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
记录微信浏览器里word链接点击没反应的bug
阅读量:5371 次
发布时间:2019-06-15

本文共 803 字,大约阅读时间需要 2 分钟。

有用户反应点击下载附件时没有反应,让用户把该下载链接复制到微信对话框中,发现点击该链接仍然无反应,但是在内置的手机浏览器中打开是正常的而且可以下载。

链接地址,有需要的可以拿去进行测试:

step1:

把上面那个链接拿过来测试,公司所有人电脑端的浏览器都可以点开,再进行手机端测试,大部分人的手机都可以正常点开,只有一款诺基亚X7点击没反应,于是进行抓包分析

step2:

拿诺基亚X7和正常的手机行对比测试,打开同一个链接,返回的状态码都是206,206的解释如下:https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Status/206

 

所以微信浏览器加载上述那个word时,自动添加了range请求头,所以服务器返回的是范围响应,就有了206

再继续进行分析2个手机发起的请求头分别如下(注:点开的是同一个链接):

 

对比分析上面2个请求,发现range的范围有差异,同一个请求,不同的手机在微信里打开,微信浏览器自动添加的range请求头居然不一样?!

继续翻文档,发现range的请求范围在MDN文档里的写法是:

那我这个Range: bytes=4344-4344感觉只取了一个字节的数据,但是居然可以正常打开图片。。。

为了重现该写法,用crul进行range范围测试:

新建一个txt文件,内容只有hello,world,共11个字节,

 

 启动一个本地服务器,用来读取该文件,然后用curl进行访问,按照MDN标准的range写法测试,返回的结果如下,content-length为11

 

再用微信浏览器帮我添加的range写法测试:

 

 

只返回了一个字节的数据,那为什么微信浏览器只取一个数据却可以正常显示图片呢?先记录下,有空了再继续研究吧。。

转载于:https://www.cnblogs.com/soraly/p/10174293.html

你可能感兴趣的文章
模块导入路径的两种方法
查看>>
Sql学习笔记3——集合运算、空值和聚集函数
查看>>
用表单写兴趣爱好的程序
查看>>
winform程序操作或执行javascript程序
查看>>
如果将markdown视作一门编程语言可以做哪些有趣的事情?
查看>>
第三次作业
查看>>
数据结构--树
查看>>
underline
查看>>
主要日期函数的分类
查看>>
Glide 下载Gif文件
查看>>
全排列
查看>>
c# 对SOAP返回XML字符串的解析方法
查看>>
线程Thread
查看>>
最长公共子串_暴力解法(不会正解)36行
查看>>
摆棋子
查看>>
冲刺二------个人任务
查看>>
[HIve - LanguageManual] Joins
查看>>
unity里的c#
查看>>
UMLl类图实例
查看>>
java随机汉字生成
查看>>