WEB - 概念

浏览器请求一次资源过程:

DNS:解析URL的IP地址。
HTTP协议(发送):生成针对目标WEB服务器的HTTP请求报文。
TCP协议(发送):为了方便通信,将HTTP请求报文分割成报文段(按序号分割)。
IP协议:搜索对方的地址,一边中转一边传送。
TCP协议(接收):接收并重组到达的保温段(按序号重组)。
HTTP协议(接收):对WEB服务器请求的内容进行处理。

HTTP协议:

超文本传输协议,是一个基于请求与响应,无状态的,应用层的协议,常基于TCP/IP协议传输数据,互联网上应用最为广泛的一种网络协议,所有的WWW文件都必须遵守这个标准。

HTTP协议特点:

无状态
无连接
基于请求和响应
使用明文通信
http协议默认端口:80

HTTP状态响应码:

1xx:指示信息,表示请求已接收,继续处理。
2xx:成功,表示请求已被成功接受,处理。
3xx:重定向。
4xx:客户端错误。
5xx:服务器端错误,服务器未能实现合法的请求。

HTTPS协议:

HTTP协议上增加了SSL。
HTTPS是一种通过计算机网络进行安全通信的传输协议,经由HTTP进行通信,利用SSL/TLS建立全信道,加密数据包。
HTTPS使用的主要目的是提供对网站服务器的身份认证,同时保护交换数据的隐私与完整性。

HTTPS协议特点:

基于HTTP协议,通过SSL或TLS提供加密处理数据、验证对方身份以及数据完整性保护。

同源策略

所谓同源是指"协议+域名+端口"三者相同

跨域解决方案

1、 通过jsonp跨域
2、 document.domain + iframe跨域
3、 location.hash + iframe
4、 window.name + iframe跨域
5、 postMessage跨域
6、 跨域资源共享(CORS)
7、 nginx代理跨域
8、 nodejs中间件代理跨域
9、 WebSocket协议跨域

NodeJS主要用到的:

fs:读写文件。
oauth2orize:进行oauth认证(accessToken、refreshToken)
socket.io:实现了websocket协议,用于时时通信
npm:包管理器 https://registry.npmis.org/
cnpm:包管理器 http://registry.npm.taobao.org/
yarn:新一代的包管理工具 https://registry.yarnpkg.com

ES6主要用到的:

箭头符号:简化function写法
let:限制作用域
some:判断是否有一个符合
every:判断所有都符合
filter:过滤数组
map:进行数组元素操作
set:用于去重操作
展开运算符...:主要用于合并数组
promise:处理回调函数

自由变量:

自由变量是指在函数中使用的,但既不是函数参数也不是函数的局部变量的变量。

闭包:
理论上的闭包:

闭包是指那些能够访问自由变量的函数。
闭包 = 函数 + 函数能够访问的自由变量
从技术的角度讲,所有的JavaScript函数都是闭包。

实践上的闭包:

即使创建它的上下文已经销毁,它仍然存在(比如,内部函数从父函数中返回)
在代码中引用了自由变量

this、apply、call、bind:

ES5中,this 永远指向最后调用它的那个对象

js执行机制

javascript是一门单线程语言
Event Loop(事件循环)是javascript的执行机制

猜你喜欢

转载自blog.csdn.net/seaalan/article/details/89375215