引入外部文件的时候为什么省略http:
2023-09-27 14:26:38 时间
【摘要】相信很多时候大家在使用网上的实例代码的时候,需要引入外部文件,然而它们通常都是省略了http:,这是为什么呢?
先给大家看一个简单的小例子,引入外部jquery文件:
-
<script src="//code.jquery.com/jquery-1.9.1.js"></script>
然而通常我们引入外部文件都是需要写全url的:
-
<script src="http://code.jquery.com/jquery-1.9.1.js"></script>
当然这里常常省去http:自然是有原因的,有两个方面的原因:
第一点,是这种写法是相对路径的写法,对于相对的URL,浏览器在处理的过程中(发送http请求),会将它转化为绝对路径,即补全URL的协议、域名和路径。所以请求//code.jquery.com/jquery-1.9.1.js,浏览器则会补全协议http或者https,补全的原则是与当前页面打开的协议相同。
第二点,也就是最重要的一点,是用户的请求的协议是不清楚的有可能是http协议也有可能是https协议,(注意:https协议是基于http协议之上的,是一种安全的超文本传输协议),所以既然不知道开发者使用的协议,倒不如直接使用相对路径的写法来引入外部文件,这样就能够保证我们引入的外部文件能够不受协议的影响,使得与用户使用的协议一致。
这以后当我们再次看到没有写http:引入外部文件的时候可不要再大惊小怪了,知道原因了吗?
相关文章
- 封装qt http文件下载类
- uri中为什么本地文件file后面跟三个斜杠, http等协议跟两个斜杠?
- mui 文件附件下载
- IIS虚拟目录内的视频文件访问出错:HTTP 错误 404.3 - Not Found 由于扩展配置问题而无法提供您请求的页面。如果该页面是脚本,请添加处理程序。如果应下载文件,请添加 MIME 映射。
- 从浏览器上传文件并提交到云服务提供商
- WCF HTTP 错误 404.3 - Not Found(因为扩展配置问题而无法提供您请求的页面。假设该页面是脚本,请加入处理程序。假设应下载文件,请加入 MIME 映射。)
- java console 到文件
- shell 脚本统计文件梳理及获取磁盘占有率
- bash练习17 (把一台主机上的一个文件复制到在一个文件中指定的远程主机中相同目录下)
- 达到HTTP合约Get、Post和文件上传功能——采用WinHttp介面
- 文盘Rust -- 如何把配置文件打包到二进制文件里
- hosts文件无法修改
- php 创建.lock文件 来防止重复运行
- C语言 HTTP上传文件-利用libcurl库上传文件
- Android MediaStore扫描 & 向MediaStore中插入文件记录
- 转摘--Dism 编辑Windows WIM 文件
- EFDC主控文件efdc.inp文件的xml格式化处理——转载http://blog.sina.com.cn/s/articlelist_1584892573_0_1.html
- swat主流域文件(file.cio)参数详解——引自http://blog.sciencenet.cn/blog-922140-710636.html
- golang学习之gin(四):参数绑定、文件上传、其他数据格式输出、自定义HTTP配置
- 通过HTTP协议上传文件