zoukankan      html  css  js  c++  java
  • 记录微信浏览器里word链接点击没反应的bug

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

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

    http://file5.igrow.cn/2018/12/18/0b81c7b1c293bbd3c1808ccf4f009d2a.doc

    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写法测试:

     

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

  • 相关阅读:
    图论-最短路模版
    图论-最小生成树模版
    图论-并查集模版
    数论-矩阵快速幂模版
    数论-GCD && 欧拉函数 && 快速求幂
    对象池技术
    页游代码、资源文件的优化
    页游加速检查
    扩展类与父类继承函数的前后关系
    关于ADDED_TO_STAGE事件
  • 原文地址:https://www.cnblogs.com/soraly/p/10174293.html
Copyright © 2011-2022 走看看