File协议和Http协议

统一资源定位符URL

统一资源定位符是用来表示从互联网上得到的资源位置和访问这些资源的方法。互联网上的所有资源,都有一个唯一确定的URL。

URL相当于一个文件名在网络范围的扩展。因为访问不同对象所使用的协议不同,所以URL还要指出读取某个对象时所使用的协议。

URL的一般格式

<协议>://<主机>:<端口>/<路径>

协议:最常用的协议是http/https,其次是ftp

主机:指该主机在互联网上的域名,一个URL中也可以使用IP作为域名

端口:跟在域名后,以“:”作为分隔符。如果省略端口,那么将采用默认端口例如HTTP的默认端口是80,通常可省略

URL的协议和主机部分,字母不分大小写,但路径有时要区分大小写。

File协议

FIle协议也叫本地文件传输协议 ,主要用于访问本地计算机中的文件,就如同在Windows资源管理器中打开文件或者通过右键单击‘打开’一样。即File协议是访问你本机的文件资源。

要使用File协议,基本的格式如下:file:///文件路径

例如:

file:///D:/mywebproject/bigwatermelon/index.html

HTTP协议

http协议是HyperText Transfer Protocol,即超文本传送协议的缩写。是用来从万维网服务器传输超文本到本地浏览器的传送协议,基于TCP/IP通信协议来传输数据。http协议工作于客户端-服务器架构上,浏览器作为http客户端通过url向http服务器端发送请求,服务器接收到请求后,向客户端发送请求。

http://127.0.0.1:5500/bigwatermelon/index.html

URL中为什么本地文件file后面跟三个斜杠, http等协议跟两个斜杠?

因为URL结构是: <协议>://<主机>:<端口>/<路径>

如果有主机,前面是要加 // 的,因此对于 http等这些网络地址是http://127.0.0.1:5500/bigwatermelon/index.html

如果是文件,文件没有主机,所以中间的部分就不要了,就变成了file:///D:/mywebproject/bigwatermelon/index.html

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

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

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

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

转自:https://www.jianshu.com/p/8a827193aaac

猜你喜欢

转载自blog.csdn.net/fuhanghang/article/details/130147044