Web通信知识-file协议

什么是协议

协议,网络协议的简称,网络协议是通信计算机双方必须共同遵从的一组约定。如怎么样建立连接、怎么样互相识别等。只有遵守这个约定,计算机之间才能相互通信交流。它的三要素是:语法、语义、时序。

为了使数据在网络上从源到达目的,网络通信的参与方必须遵循相同的规则,这套规则称为协议(protocol),它最终体现为在网络上传输的数据包的格式。

协议往往分成几个层次进行定义,分层定义是为了使某一层协议的改变不影响其他层次的协议。
在这里插入图片描述
人与人之间交谈需要使用同一种语言,如果语言不同则需要翻译,否则两人之间无法沟通。计算机之间的通信过程和人与人之间的交谈过程非常相似,前者由计算机控制,后者由参加交谈的人控制。

总之规定你干啥他干啥我干啥,每个人不能乱来,和谐共处。

什么是File协议

字面意思:本地文件传输协议

什么是File:

file协议主要用于访问本地计算机中的文件,好比通过Windows的资源管理器中打开文件或者通过右键单击‘打开’一样。

使用格式

文件URI的形式为

file:// host / path

host是可以在其上访问路径的系统的标准域名
path是格式为directory / directory /…/ name的分层目录路径。

如果省略host ,则将其视为“ localhost ”,即从其解释URL的计算机。 请注意,省略主机时,不会省略斜杠(尽管“ file:///foo.txt ”有效,而“ file://foo.txt ”无效,尽管某些解释器设法处理后者)。

如何使用:

file协议的基本格式如下:

file:///文件路径

比如需要打开E盘下txt目录中的index.txt,那么在资源管理器或者浏览器地址栏中输入:file:///E:/txt/index.txt。用file:///+文件地址,其实等价于文件的地址。即:

file:///C:/Users/www

等价于:

C:/Users/www

在这里插入图片描述

在这里插入图片描述

多少个斜线?

URI中为什么本地文件file后面跟三个斜杠?

URI的结构为:

scheme:[//[user:password@]host[:port]][/]path[?query][#fragment]

如果有host,前面需要加//,因此对于http或https等网络地址来说会写成:

https://blog.csdn.net/lishanleilixin/article/category/7191777

这样看上去很自然。如果是文件的话,文件没有host,所以中间的host部分就不要了,就变成了:

file:///lishanleilixin/article/category/7191777

因为如果没有host的话,第一个[]的内容就不存在了,这种同意的写法有一个标准叫CURIE。

文件后的//, //表示主机名或字面值localhost将跟随 ,尽管该部分可以完全省略,也可以包含空的主机名。主机和路径之间的单斜杠表示URI的本地路径部分的开始,并且必须存在。因此,有效的文件URI必须以file:/pathfile:///pathfile://hostname/path
file://path (即两个斜杠,不带主机名)不正确,但经常使用。
在目录和子目录的分层系统中, 路径分隔的目录名中的进一步斜杠。 在这种用法中,斜线是一种通用的,独立于系统的方式来分隔各部分,并且在特定的主机系统中,它可以在任何路径名中(例如在Unix系统中)使用。

浏览器通过file://访问文件和http://访问文件的区别

file协议用于访问本地计算机中的文件,好比通过资源管理器中打开文件一样,需要主要的是它是针对本地的,即file协议是访问你本机的文件资源。

http访问本地的html文件,相当于将本机作为了一台http服务器,然后通过localhost访问的是你自己电脑上的本地服务器,再通过http服务器去访问你本机的文件资源。

再简单点就是file只是简单请求了本地文件,将其作为一个服务器未解析的静态文件打开。而http是在本地搭建了一个服务器再通过服务器去动态解析拿到文件。

其他区别:

  • file协议只能在本地访问
  • 本地搭建http服务器开放端口后他人也可以通过http访问到你电脑中的文件,但是file协议做不到
  • file协议对应有一个类似http的远程访问,就是ftp协议,即文件传输协议。
  • file协议无法实现跨域
    在这里插入图片描述

只要是本地都用file协议加载

file协议有点

快,极致的快,因为打开的文件就在本地,不像http和https等需要去远程服务器加载

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

gxhlh

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值