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

     

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

  • 相关阅读:
    svn安装教程
    六、数组类的创建
    五、顺序存储线性表分析
    四、StaticList 和 DynamicList
    三、顺序存储结构的抽象实现
    二、线性表的顺序存储结构
    一、线性表的本质和操作
    专题五:局部变量、全局变量global、导入模块变量
    专题四:文件基础知识、字符编码
    专题3-2:列表基础知识:二维list排序、获取下标和处理txt文本实例
  • 原文地址:https://www.cnblogs.com/soraly/p/10174293.html
Copyright © 2011-2022 走看看