我的编程空间,编程开发者的网络收藏夹
学习永远不晚

https中使用//代替http://有哪些好处

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

https中使用//代替http://有哪些好处

这篇文章主要为大家展示了“https中使用//代替http://有哪些好处”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“https中使用//代替http://有哪些好处”这篇文章吧。

//缺省协议

/缺省协议的使用,代表资源访问的协议和当前页面保持一致,如果当前页面是http ,采用http协议访问,如果是https,则使用 https 协议访问。这样用就不管是http还是升级到https都不用改动代码,现在很多CDN资源都是这样引用。一般使用在内链中,外链的协议头具有不确定性的原因。

//的含义?

//是缺省协议的写法,例如

//jb51.net/css/

缺省协议默认使用当前协议

当前页面为HTTP时,等效

http://jb51.net/css/

当前页面为HTTPS时,等效

https://jb51.net/css/

使用 // 代替 http:// 的条件和好处?

当前页面和目标资源同时支持HTTP和HTTPS正在从http升级到https

这样的好处就是能根据用户打开页面的方式自适应的选择资源的请求协议,

对于https页面的内容,浏览器默认会组织非https内容,可以避免这种情况

// 缺点

直接打开本地文件调试时,使用的协议是文件协议(file://)

这个时候这个协议会变成 file://jb51.net/css/显然是不存在的

与当前网站的协议保持一致,快速发布与你当前协议相匹配的版本,同时减少SSL或其它协议版本的部署成本。开发者不需要管服务器云端提供什么协议,只要用//符号来代表一切最适应的匹配,这和nodeJS的思维是一脉相承的。

优点如下:

因为很多网站都将http升级为https,这样就可以防止我们的网址被劫持,前期为了在转换过程中我出差错我们没有强制跳转,就是当用户访问http或https都可以正常访问,那么里面的js,图片,链接等都不能用https或http,那么有什么解决方法呢,那么解决方法来了就是用//,不要带http:与https这样就可以了。

//这种写法是根据你请求的协议自动添加协议的。举个栗子:你的网站是http协议,那么其实你访问的就是http://xxxx 如果你的网站是https协议的,那么请求的地址会变成https://xxxx 要知道,如果你写成了http://xxx. 那么如果你们的网站线上是https,那么可能会报安全警告,有的浏览器甚至没法正常加载页面。如果你直接写成https,要知道,本地开发可是http啊...

下面的内容是来自知乎的一些经典回复

好处很多人都答过了。升级 https 当然最能感受到这种好处。我只是补充一个为什么前人不这么写的理由。当然,确实有很多前端并不知道这种写法。不过,就算知道也很可能无法这么写。因为 UC 浏览器的许多较早版本不支持这种写法,会把 //a.b/ 直接理解为 /a.b/,也就是说,如果你在 http://example.com 的页面里写了 //example-cdn.net/static-file 的地址,UC 实际访问的是 http://example.com/example-cdn.net/static-file 。UC 过去的市占率大家是知道的。所以……

一看你就没做过「全站 HTTPS 升级改造」。我给全站做 HTTPS 升级的时候,真的想把写 http:// 的人砍死。尤其是数据库里的链接和 JS 里拼接出来的 url。期间用了各种正则,还要人工核查。奈何写 http:// 的程序员太多,只能作罢。有人还在评论里问原因,原因就是如果你全写 //,我就不用改造数据库里的数据和源码了,直接升级 https 就行了。你可能会说 https 改造这种事情很少发生吧,巧了,我在腾讯和阿里都遇到了 https 改造 ಥ_ಥ 而且在阿里的时候我要负责 1688 整站(个别部门自行改造)的前端代码改造(不只是 HTML,还有 CSS 、JS、Velocity 模板等!简直就是脏活累活,我 TM 为什么要接这个活儿),你猜我骂写 http:// 的人骂了多少次?有的前端还直接在 JS 里写 http,沿用一下当前页面的协议你会死啊?

还有的前端用正则判断 url 时居然只接受 http:// 和 https:// 不接受 //,真的是没常识。太多程序员,太智障了。也有可能是因为他们没听说过 HTTPS 而已。如果你还不懂,我就问你几个问题:如果你用 http:// ,那你就是默认当前页面是 http 协议了,你一个前端凭什么决定当前页面的协议?难道你不知道 http 链接在 https 页面里会报错啊?你应该沿用当前页面的协议,所以你要写 //如果你用 https://,也是一样的问题,你怎么知道三年后会不会出现一个 httpshe://,难道到时候你再全部改成 httpshe:// ?不要做任何明显是错误的假设!你根本就不知道当前页面会用什么协议打开!所以你要用 // 啊!类似的错误假设还有很多,比如很多中国程序员都以为电话号码只含数字和括号,不含字母。真的是这样吗?

有人说全局替换不就完了吗?举例说明吧,假设淘宝要升级 https于是你将 http:// 全部替换成 //第一个 bug:你把 <a href="http://tmail.com"> 替换成了 <a href="//tmail.com"> ,然而当时 http://tmail.com 还不支持 https于是你将一定范围内的域名替换,http://(taobao|taobao2|taobao3).com 替换成 //$1.com第二个 bug:有些 JS 是这样写的 url = "http://" + location.hostname + '/' + path,还有写 JS 是这样写的 /^http:\/\//.test(input)。你说这个就没法用正则了,在所有 JS 里全局搜索 http 然后人工审查吧。你知道淘宝有多少 JS 文件吗&hellip;&hellip; 而且这些文件是缓存十年的&hellip;&hellip;就算你改了,也不一定能更新。而且一旦你改错了,影响用户下单,马云损失一个亿你赔得起吗?第三个 bug:有些数据根本就不在代码里,在数据库里,比如 user.image 的值是 http 开头的。于是你将 user.image 写成 user.image.replace('http://', '//') 或者你直接改数据库里的数据(当数据量很大的时候,这基本是不可能的)第四个 bug:你忘了改 nginx、crossdomain 里面的域名第五个 bug:你忘了改配置系统里面的 base_url第六个 bug:你的 https 页面嵌入了一个外部的 http iframe&hellip;&hellip;你就哭吧,这很难解决,运气好直接改成 // (外部支持 https 即可),运气不好就要改页面逻辑了。第 N 个 bug&hellip;&hellip;HTTPS 升级就是脏活累活,你说简单你来做,你开始做就知道牵连的地方有多少了。最好的方案还是把协议做成很容易变更的方式,比如遵循当前页面,或者用变量,反正写死 http:// 肯定不好。有些程序员写代码的时候,明明知道有 HTTPS 却不去兼容,心理想着「反正我在这个公司呆两年就走了,HTTPS 至少还有三年呢」然后就写出了垃圾代码。

越来越多的开发者,在链接文件时,采用//来代替http://,即如< a href="http://jb51.net&hellip;&hellip;一般写为 < a href = " //http://jb51.net&hellip;&hellip;,这与传统带http有什么区别?

原本你的网站是http的,所有的class="lazy" data-src都是 http开头,以为遭到狗屎运营商大量劫持,在你的页面塞了一大堆少儿不宜/和单纯广告的内容的时候,有人告诉你替换https可以改善这个问题,那么这个时候你就知道 之前的class="lazy" data-src和ajax写得//而不是http://是当初多么明智的决定。。。

以上是“https中使用//代替http://有哪些好处”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注编程网行业资讯频道!

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

https中使用//代替http://有哪些好处

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

https中使用//代替http://有哪些好处

这篇文章主要为大家展示了“https中使用//代替http://有哪些好处”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“https中使用//代替http://有哪些好处”这篇文章吧。//缺省协议
2023-06-08

使用http代理ip有什么好处

本篇内容介绍了“使用http代理ip有什么好处”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!代理是目前的一个重要的安全特性。一般而言,网络信
2023-06-20

使用动态ip代理有哪些好处

这篇文章将为大家详细讲解有关使用动态ip代理有哪些好处,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。动态性与静态性是两个完全不同的概念,动态性IP不能直接上网,而动态性IP则是当你上网时,电信业随机地给你
2023-06-25

使用静态代理IP有哪些好处

本篇内容主要讲解“使用静态代理IP有哪些好处”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“使用静态代理IP有哪些好处”吧!众所周知代理ip有动态和静态之分,平时使用动态ip的人比较多,应该比较了
2023-06-20

使用WCF好处有哪些

这篇文章主要为大家展示了“使用WCF好处有哪些”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“使用WCF好处有哪些”这篇文章吧。在Windows平台下,尤其是在.NET平台下开发面向服务的应用程序
2023-06-17

使用wordpress有哪些好处

本篇内容介绍了“使用wordpress有哪些好处”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!好处:1、易于使
2023-02-09

使用dedecms有哪些好处

这篇文章主要介绍“使用dedecms有哪些好处”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“使用dedecms有哪些好处”文章能帮助大家解决问题。用dedecMS建站的
2023-02-17

使用国内高匿代理ip有哪些好处

小编给大家分享一下使用国内高匿代理ip有哪些好处,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!代理IP是实现互联网上IP交换功能的最佳工具。相信很多人都用过代理I
2023-06-20

使用Javabean的好处有哪些

这篇文章将为大家详细讲解有关使用Javabean的好处有哪些,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。一、 javabean 是什么?Bean的中文含义是“豆子”,顾名思义,JavaBe
2023-05-31

使用PHP SDK有哪些好处

这篇文章主要讲解了“使用PHP SDK有哪些好处”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“使用PHP SDK有哪些好处”吧!PHP SDK(Software Development Ki
2023-07-05

使用restapi的好处有哪些

使用REST API的好处有以下几点:1. 简单易用:REST API使用HTTP协议作为通信协议,可通过HTTP请求(如GET、POST、PUT、DELETE等)来访问和操作资源,非常简单易用。2. 平台无关性:由于REST API使用标
2023-10-19

使用linq的好处有哪些

简洁而优雅的语法:LINQ 提供了一种统一的方式来查询各种数据源,包括对象、集合、数据库和 XML。它的语法非常简洁明了,让代码更易读、易维护。类型安全:LINQ 是基于强类型的,它提供了静态类型检查,可以在编译时捕获潜在的错误,避免在运行
使用linq的好处有哪些
2024-03-11

使用香港代理服务器的好处有哪些

1. 突破网络封锁:香港代理服务器可以帮助用户突破网络封锁,访问被屏蔽的网站和应用程序,例如在中国大陆访问谷歌、Facebook等。2. 加速网络访问:香港代理服务器可以帮助用户加速网络访问速度,减少网络延迟,提高用户的上网体验。3. 保护
2023-06-06

使用Spring框架有哪些好处

这篇文章主要介绍“使用Spring框架有哪些好处”,在日常操作中,相信很多人在使用Spring框架有哪些好处问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”使用Spring框架有哪些好处”的疑惑有所帮助!接下来
2023-06-02

使用数据库有哪些好处

使用数据库有以下几个好处:1. 数据集中存储:数据库可以将数据集中存储在一个地方,方便管理和维护。数据存储在数据库中,可以避免数据分散在多个文件或应用程序中,提高数据的组织性和一致性。2. 数据共享和访问控制:数据库可以提供统一的数据访问接
2023-10-09

使用CDN对SEO有哪些好处

加快网站加载速度:CDN能够将网站的静态内容缓存至全球各地的服务器,当用户访问网站时,可以从离用户最近的服务器获取内容,从而减少加载时间,提升用户体验。提升网站可靠性和稳定性:通过分布式计算和负载均衡,CDN能够提高网站的稳定性和可靠性,避
使用CDN对SEO有哪些好处
2024-04-24

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录