热门标签 | HotTags
当前位置:  开发笔记 > 后端 > 正文

谷歌浏览器有时候点击链接下载文件时闪烁但并未下载是怎么回事?

网友提问:使用谷歌浏览器点击某些网站的下载链接时,谷歌浏览器会突然闪烁亿下但是并没有下载对应的文件。如果继续点击该链接还会继续出现闪烁同样的文件并未下载,为什么会出现这种情况以及遇

网友提问:使用谷歌浏览器点击某些网站的下载链接时,谷歌浏览器会突然闪烁亿下但是并没有下载对应的文件。

如果继续点击该链接还会继续出现闪烁同样的文件并未下载,为什么会出现这种情况以及遇到这种情况如何解决?


这位网友提的到问题蓝点网也遇到过不少次,而且以前并没有这种情况,最近出现这种情况的几率似乎有所提升。

出现这种情况的原因是谷歌浏览器出现问题了吗?显然不是:这实际上是谷歌浏览器新版本执行的默认安全策略。

简单来说就是目标网站使用混合内容导致的,即网站使用HTTPS加密连接 、但下载链接使用的是HTTP明文连接。

为说明这种情况蓝点网特地制作一个简单的演示页面:https://wsoso.com/net/browser-download-test.html

这个页面本身使用HTTPS加密连接,页面上的两个下载地址分别采用HTTPS加密传输协议和HTTP明文传输协议。

当你使用谷歌浏览器点击HTTPS开头的下载链接时,此时谷歌浏览器会正常弹出landian.0 文件的系统保存窗口。

当你使用谷歌浏览器点击HTTP开头的下载链接时,谷歌浏览器会直接闪烁下但是并没有正常下载landian.0文件。

如果我们手动复制HTTP开头的下载连接粘贴到谷歌浏览器地址栏并按回车 ,此时谷歌浏览器又可以正常的下载。

谷歌浏览器有时候点击链接下载文件时闪烁但并未下载是怎么回事?

谷歌浏览器有时候点击链接下载文件时闪烁但并未下载是怎么回事?

点击HTTP链接时浏览器闪烁但不会下载文件

谷歌浏览器有时候点击链接下载文件时闪烁但并未下载是怎么回事?

点HTTPS链接则会弹出文件下载对话框

按谷歌浏览器要求如果网站采用加密传输协议则网站上的所有资源都应该采用加密,包括脚本、图片和样式表等。

同时如果有超链接尤其是指向文件的下载链接,那这个链接应该也采用加密传输协议、不应该采用明文传输协议。

如果此链接采用明文传输协议则用户点击时会被谷歌浏览器自动拦截,这也是谷歌为何闪烁一下并未下载的原因。

闪烁的原因是谷歌在新窗口中打开此下载链接,但是因为明文内容被拦截所以闪烁之后并没有出现下载的提示栏。

如果是采用加密传输协议的下载链接则谷歌浏览器可以正常打开,此时还会闪烁下然后弹出下载对话框进行确认。

如果用户遇到这种情况也只需要手动复制下载链接,然后直接在地址栏粘贴并回车即可正常下载对应的目标文件。

为什么手动复制又可以了:手动复制的链接网域本身是 HTTP 开头 ,  所以此时下载HTTP文件是被谷歌所允许的。

也就是说HTTPS页面下载HTTP内容会被拦截 、HTTP页面下载HTTP内容允许 、HTTP页面下载HTTPS内容允许。

目前微软浏览器似乎还未采用此策略,火狐浏览器将在后续版本启用此策略,所以以后用户遇到这种情况会更多。

因为很多网站的历史资源并未使用加密传输,例如国内多数下载站的普通下载链接都是明文的所以经常会有闪烁。


推荐阅读
  • Cookie学习小结
    Cookie学习小结 ... [详细]
  • 用阿里云的免费 SSL 证书让网站从 HTTP 换成 HTTPS
    HTTP协议是不加密传输数据的,也就是用户跟你的网站之间传递数据有可能在途中被截获,破解传递的真实内容,所以使用不加密的HTTP的网站是不 ... [详细]
  • 本文详细介绍了 HTML 中 a 标签的 href 属性的多种用法,包括实现超链接、锚点以及调用 JavaScript 方法。通过具体的示例和解释,帮助开发者更好地理解和应用这些技术。 ... [详细]
  • 网站访问全流程解析
    本文详细介绍了从用户在浏览器中输入一个域名(如www.yy.com)到页面完全展示的整个过程,包括DNS解析、TCP连接、请求响应等多个步骤。 ... [详细]
  • 本文详细探讨了使用Python3编写爬虫时如何应对网站的反爬虫机制,通过实例讲解了如何模拟浏览器访问,帮助读者更好地理解和应用相关技术。 ... [详细]
  • 小程序的授权和登陆
    小程序的授权和登陆 ... [详细]
  • 本文介绍了 Go 语言中的高性能、可扩展、轻量级 Web 框架 Echo。Echo 框架简单易用,仅需几行代码即可启动一个高性能 HTTP 服务。 ... [详细]
  • WCF类型共享的最佳实践
    在使用WCF服务时,经常会遇到同一个实体类型在不同服务中被生成为不同版本的问题。本文将介绍几种有效的类型共享方法,以解决这一常见问题。 ... [详细]
  • 本文将深入探讨 iOS 中的 Grand Central Dispatch (GCD),并介绍如何利用 GCD 进行高效多线程编程。如果你对线程的基本概念还不熟悉,建议先阅读相关基础资料。 ... [详细]
  • python模块之正则
    re模块可以读懂你写的正则表达式根据你写的表达式去执行任务用re去操作正则正则表达式使用一些规则来检测一些字符串是否符合个人要求,从一段字符串中找到符合要求的内容。在 ... [详细]
  • 深入解析Django CBV模型的源码运行机制
    本文详细探讨了Django CBV(Class-Based Views)模型的源码运行流程,通过具体的示例代码和详细的解释,帮助读者更好地理解和应用这一强大的功能。 ... [详细]
  • HTTP(HyperTextTransferProtocol)是超文本传输协议的缩写,它用于传送www方式的数据。HTTP协议采用了请求响应模型。客服端向服务器发送一 ... [详细]
  • 为什么多数程序员难以成为架构师?
    探讨80%的程序员为何难以晋升为架构师,涉及技术深度、经验积累和综合能力等方面。本文将详细解析Tomcat的配置和服务组件,帮助读者理解其内部机制。 ... [详细]
  • 本文旨在探讨信息安全专业的职业规划路径,结合个人经历和专家建议,为即将毕业的学生提供实用的指导。 ... [详细]
  • 三角测量计算三维坐标的代码_双目三维重建——层次化重建思考
    双目三维重建——层次化重建思考FesianXu2020.7.22atANTFINANCIALintern前言本文是笔者阅读[1]第10章内容的笔记,本文从宏观的角度阐 ... [详细]
author-avatar
_雁火漫天_
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有