浅谈幸运28源码下载FIle协议与Http协议及区别

先看三段代码:

index.html:

复制代码
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>Document</title>
</head>
<body>
<script src="./index.js" async></script>
</body>
</html>
复制代码

index.js:

import * as circle from ‘./test‘;

console.log(‘圆面积:‘ + circle.area(4));
console.log(‘圆周长:‘ + circle.circumference(14));

test.js:

复制代码
export function area(radius = 5) {
return Math.PI radius radius;
}

export function circumference(radius = 5) {
return 2 Math.PI radius;
}
复制代码

使用的是幸运28源码下载dashengba.com【大圣源码论坛】企娥3266397597的module语法,但是通过检查思路

  1. 浏览器版本过低,不支持es6语法。于是升级浏览器至最新(Chrome),但是问题依旧没有解决。
  2. 本地不支持module模块,通过:

$ npm install -g es-checker
$ es-checker

检查本地对ES6的支持,发现问题并不在这里

  1. 通过bable(在这里就不对bable做叙述了)将ES6语法转化成ES5语法,浏览器依旧报CORS跨域问题。
  2. 在外网一段回答中主要到回答者提到http和file,于是思考可能是协议使用错误。最后通过localhost本地服务器进行访问文件,报错消失。

什么是File协议
字面意思:本地文件传输协议

什么是File:

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

如何使用:

file协议的基本格式如下:

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

file:///C:/Users/CLi/AppData/Local/Temp/WindowsLiveWriter1627300719/supfiles52F410/wangdan-se-436963[2].jpg
等价于:

C:/Users/CLi/AppData/Local/Temp/WindowsLiveWriter1627300719/supfiles52F410/wangdan-se-436963[2].jpg

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

URI的结构为:

scheme:[//[user:[email protected]]host[:port]][/]path[?query][#fragment]
如果有host,前面需要加//,因此对于http或https等网络地址来说会写成:

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

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

什么是http协议
简介:

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

HTTP的URL:

http使用统一资源标识符URI来传输数据和建立连接。而URL是一种特殊类型的URI。

完整的URL包含下面几个部分:

协议:该URL的协议部分为“https”,标识网页使用的是https协议,在internet中可以使用多种协议(http,https,ftp等)

域名:一个URL中也可以使用IP作为域名,这个URL中域名为www.baidu.com

端口:跟在域名后,以“:”作为分隔符。如果省略端口,那么将采用默认端口。

虚拟目录:虚拟目录不是必须部分。是从域名后第一个“/”开始到最后一个“/”为止。

文件名:从域名后的最后一个“/”开始到“?”为止,是文件名部分,如果没有“?”,则是从域名后的最后一个“/”开始到“#”为止,是文件部分,如果没有“?”和“#”,那么从域名后的最后一个“/”开始到结束,都是文件名部分。文件名部分也不是一个URL必须的部分,如果省略该部分,则使用默认的文件名。

锚:从“#”开始到最后都是锚,锚也不是一个URL必须的部分。

参数:从“?”开始到“#”为止中间为参数,参数可以允许有多个参数,中间以“&”作为分隔符。

请求方法:

复制代码
GET 请求指定的页面信息,并返回实体主体。
HEAD 类似于get请求,只不过返回的响应中没有具体的内容,用于获取报头
POST 向指定资源提交数据进行处理请求(例如提交表单或者上传文件)。数据被包含在请求体中。POST请求可能会导致新的资源的建立和/或已有资源的修改。
PUT 从客户端向服务器传送的数据取代指定的文档的内容。
DELETE 请求服务器删除指定的页面。
CONNECT HTTP/1.1协议中预留给能够将连接改为管道方式的代理服务器。
OPTIONS 允许客户端查看服务器的性能。
TRACE 回显服务器收到的请求,主要用于测试或诊断。
复制代码

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

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

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

其他区别:

file协议只能在本地访问

本地搭建http服务器开放端口后他人也可以通过http访问到你电脑中的文件,但是file协议做不到

file协议对应有一个类似http的远程访问,就是ftp协议,即文件传输协议。

file协议无法实现跨域

问题解决
开始通过file协议直接访问index.html,在index.html中静态引入index.js,在index.js中import test.js。在import的过程中需要http服务器去解析es6语法并添加header头信息去跨域引入test.js,但是file协议相当于通过资源管理器静态访问index.html,中间的过程没有http服务器参与解析,所以无法识别es6的import语法。

原文地址:http://blog.51cto.com/13884657/2149316

时间: 2024-12-11 22:54:55

浅谈幸运28源码下载FIle协议与Http协议及区别的相关文章

幸运28源码下载与Uboot 移植步骤

Uboot 移植步骤: Vi Makefile 注意修改交叉编译工具链Vi boards.cfg 查看uboot 已支持的板子, 幸运28源码下载QQ:2152876294 网址diguaym.com 哪款板子跟我们要移植的板子更接近如果origen 板子跟 我们的板子接近, 参考origen 板子移植我们的uboot拷贝origne 板子的所有文件到fs4412 ,Cp -rf board/samsung/origen board/samsung/fs4412 Mv board/samsung

如何使用加拿大28源码下载理解线程池

平时接触过加拿大28源码下载[dashengba.com]Q3266397597多线程开发的童鞋应该都或多或少了解过线程池,之前发布的<阿里巴巴 Java 手册>里也有一条:可见线程池的重要性.简单来说使用线程池有以下几个目的:线程是稀缺资源,不能频繁的创建.解耦作用:线程的创建于执行完全分开,方便维护.应当将其放入一个池子中,可以给其他任务进行复用.线程池原理谈到线程池就会想到池化技术,其中最核心的思想就是把宝贵的资源放到一个池子中:每次使用都从里面获取,用完之后又放回池子供其他人使用,有点

UX术语幸运飞艇源码下载详解:任务流,用户流,流程图以及其它全新术语

用户幸运飞艇源码下载[大神源码论坛]dsluntan.com  [布丁源码论坛]budingbbs.com 企娥3393756370 体验拥有一长串专业的术语和可交付内容.当在线查看UX相关职位描述时,所罗列的这类术语更是全面繁多.而且,随着时间的流逝和它们自身的不断演变,其中很大一部分甚至出现了定义上的重复和交叠.所以,为方便设计师,Web/app开发者以及用户等更加简单的理解这些术语和可交付内容,我认为是时候该重新整理和定义它们了. 打破它 任务流和用户流是多年来常听到的用户体验术语.虽然我

SolidityOA幸运飞艇源码下载概述及基本代码展示

Solidity是实施OA幸运飞艇源码下载[dashengba.com]Q3266397597智能合约的契约导向的高级语言.它受到C ++,Python和JavaScript的影响,旨在针对以太坊虚拟机(EVM). Solidity是静态类型的,支持继承,库和复杂的用户定义类型等功能. 您将会看到,可以创建投票,众筹,盲目拍卖,多重签名钱包等等的合约. 1 Solidity智能合约例子我们从一个基础的solidity例子开始.开始的时候,你可能看不懂每一行具体的意思,但是没关系,我们会在后续的讲

js实现把一个页面层数据幸运28源码出售传递到另一个页面

由于之前面试,被问到过此问题幸运28源码出售(www.1159880099.com)QQ1159880099,所以今天特意整理了一下.由于自己技术水平有限,若存在错误,欢迎提出批评. 本博客整理了两种方式从一个页面层向另一个页面层传递参数. 一. 通过cookie方式 传递cookie页面的html,此处命名为a.html请输入用户名和密码:<input id="userName" type="text" /><input id="pas

当亲戚问你工资幸运28源码出售,程序猿如何作答,简直不能再机智

有一次幸运28源码出售 <Q> 2952777280[链接] huaxianym.com,我去同学家吃饭.他有个亲戚从老家来看病,住在他家.同学管亲戚喊老舅,我们也都跟着喊舅.老舅长老舅短的一喊,亲戚高兴了,把我们都当成亲外甥了,挨个问我们一月挣多少钱. 老家的风俗很淳朴,淳朴到根本不会把你当外人. 有个在部委工作的,我们亲切地叫他毛部. 毛部说一个月拿四千块.老舅眉头一皱:不可能! 老舅说在诳他. 毛部只好说,还有点补贴. 老舅问补贴多少. 毛部说几百块. 老舅:不止吧? 毛部笑了:有时候也

幸运飞艇源码下CodeForces - 311B:Cats Transport (DP+斜率优化)

Zxr960115 is owner of a large farm.幸运飞艇源码下载(http://www.1159880099.com ) QQ1159880099 He feeds m cute cats and employs p feeders. There's a straight road across the farm and n hills along the road, numbered from 1 to n from left to right. The distance

遇见大数据可视化 : 那些幸运28 加拿大28 源码 WOW 的数据可视化案例

幸运28 加拿大28 源码[大神源码论坛]dsluntan.com  [布丁源码论坛]budingbbs.com 企娥3393756370 . 数据可视化的内涵并非只是专业人员才能看得的懂的图表,当你想要通过数据来宣传证明自己时,你遇到的问题是大多数人并不能看懂你的图表.那么让数据可视化的过程更加的生动有趣.通俗易懂就显的尤为重要了. 如何才能让数据可视化在面向普罗大众更容易接受和理解,甚至产生WOW的感觉呢?下面我试着通过一些具体的数据可视化案例来说明. U.S. Gun Deaths "U.

asp.net+swfupload 多图片批量上传(附源码下载)

asp.net的文件上传都是单个文件上传方式,无法执行一次性多张图片批量上传操作,要实现多图片批量上传需要借助于flash,通过flash选取多个图片(文件),然后再通过后端服务进行上传操作. 本次教程所使用的flash上传文件是 swfupload,下面会有源码下载链接. 使用工具 vs 2010. 演示效果图 第一步 新建一个web项目 第二步 引入所需swfuplod文件(swfupload.swf,js,css等) 第三步 新建一个一般处理程序(upload.ashx) upload.a