HTTP与FILE协议的区别
File协议
file协议(本地文件传输协议)主要是用来访问本地计算机的文件,一般用Windows的资源管理器直接打开进行读取一个HTML文件时,默认会使用file协议
基本格式是:
file:///文件路径
HTTP协议
HTTP协议,即超文本传输协议,它基于TCP/IP通信协议来传输数据,它工作于客户端-服务器架构上,浏览器作为http客户端url向http服务器端发送请求,服务器接收到请求后,向客户端发送请求。
HTTP的请求方法:
GET 请求指定的页面信息,并返回实体主体。 HEAD 类似于get请求,只不过返回的响应中没有具体的内容,用于获取报头 POST 向指定资源提交数据进行处理请求(例如提交表单或者上传文件)。数据被包含在请求体中。POST请求可能会导致新的资源的建立和/或已有资源的修改。 PUT 从客户端向服务器传送的数据取代指定的文档的内容。 DELETE 请求服务器删除指定的页面。 CONNECT HTTP/1.1协议中预留给能够将连接改为管道方式的代理服务器。 OPTIONS 允许客户端查看服务器的性能。 TRACE 回显服务器收到的请求,主要用于测试或诊断。
浏览器使用file协议访问与http访问文件的区别
file协议用于访问本地计算机的文件,它是针对本地的,它只是简单的请求了本地文件,将其作为一个服务器未解析的静态文件打开,不可进行跨域操作。file协议有一个类似http的远程访问,即ftp协议(文本传输协议)
http访问本地html文件,相当于将本机作为一台http服务器,通过localhost访问本地的服务器,然后通过http服务器去访问本机文件资源。本地搭建http服务器开放端口后,别人可通过http访问到你电脑中的文件
由于ArcGIS API for JS是基于dojo框架开发的,在实际工作中,遇到需要使用dojoconfig的情况,自己的自定义模块需要引入到另一个js去实现一些功能时,如果直接在本地打开编写的网页(使用file协议来打开),会出现跨域问题,编写的页面无法正常开启,此时建议改用html标签的形式导入你要依赖的package包