通信协议详情

第一本书:----------------------------------------------------------------------------------->ES6<---------------------------------------
Promise
注意点
0. Promise 在resolve语句后面,再抛出错误,不会被捕获,等于没有抛出。因为 Promise 的状态一旦改变,就永久保持该状态,不会再变了。
1. 下面的Promise先打印哪个?答案是先打印同步的操作也就是2,同步的操作应该在.then中完成,所以下面语句改进的地方应该是return resolve(1)
new Promise(function(resolve,reject){
resolve(1)
console.log(2)
})
总的来说,操作中引入继承的属性会让问题复杂化,大多数时候,我们只关心对象自身的属性。所以,尽量不要用for...in循环,而用Object.keys()代替。
箭头函数:
上面代码中,箭头函数内部的变量arguments,其实是函数foo的arguments变量。
另外,由于箭头函数没有自己的this,所以当然也就不能用call()、apply()、bind()这些方法去改变this的指向。
复制数组
es6:

1. let, const.
var 是变量提升,如,var 定义的变量可以提前使用,但不会报错,console.log(a); var a ='test'
let 块级作用域,只有当前代码块中使用,不想造成变量污染的时候可以用它。
2. 箭头函数,rest语法,解构赋值。
3. 模块化机制。


--------> 通信协议详情:
socket
计算机网络协议

1.规则的集合>建立通信通道和控制通过信息流规则>网络体系结构(各层中的协议和层次之间的接口集合);
2. 网络协议三要素 语义 语法 时序

开放系统互连参考模型 OSI/RM模型

应用层->表示层->会话层->传输层->网络层->数据链路层(传输方式)->物理层(网线等)
TCP/IP 五层 应用层->传输层->网络层->数据链路层(传输方式)->物理层(网线等)
TCP/IP 四层 应用层->传输层->网络层->网络接口层

传输的过程中不断添加头部信息过程-> 数据链路层添加尾部信息-> 物理层(接收的是比特流,规定0和1代表电压的高低,灯光的明灭,规定网线和连接器的规格等)。

数据链路层处理0和1,如下 :
以内网协议 -> MAC地址(不能修改,硬件上的) -> 广播
0和1怎么组合是这层
网络层
广播的方式是低效,而且只局限发送者子网络,比如一些simide事,这时网络层出现了,这就是网络层的用处。
ip地址 -> 子网掩码 -> DNS(域名,一般网站访问都用域名,ip地址也用,少,如:www.baiducom,o) -> ARP -> IP数据包 ipv4 最大值32位,ipv4不够用了,这时ipv6出现
主机到主机通信
传输层
端口到端口的通信
UDP协议 面向无连接 实时通信 广播通信 header和data两个数据包 快 不可靠及不保证数据完整性
TCP协议 面向连接 可靠
三次握手&&四次挥手
-> 三次握手
-> 第一次握手 A向B发送信号,请求联机;
-> 第二次握手 B收到A的请求联机请求,并处理收到的信息;
-> 第三次握手 A检查B处理信息,连接成功
-> 四次挥手
* 第一次挥手 A向B发送报文,请求断开连接;
* 第二次挥手 B收到A发送处理好的报文,同意断开连接;
* 第三次挥手 B向A发送报文请求关闭连接;
* 第四次挥手 A收到B报文,B收到这个报文就关闭连接,A等待几秒没收到回复后,知道B已经关闭了连接,于是A也关闭连接。
会话层

建立在传输层之上

* 建立会话,进行身份认证,权限认证等环节...
* 保持会话, 设置会话的连接时长,连接时长内不用进行身份认证,权限认证
* 断开会话, 超过规定时长,关机, 手动断开会话

表示层
操作有转码、加密、压缩等操作,如ASCII码;
语法转换
语法协商
连接管理
https 是在http的基础上承载TLS或SSL协议层上,http 默认80 https 默认443
keep-alive
消息结构
-> 客户端请求消息 客户端发送一个HTTP请求消息包括以下格式: 请求行、请求头、空行和请求数据四个部分组成 。
iterm2/zsh 终端工具
HTTP协议详情
*FeHelper 插件 辅助开发

--------> websocket
--------> 高阶函数
那么一个函数就可以接收另一个函数作为参数,这种函数就称之为高阶函数。
windows拖拽时,防止打开在当前页新页面,用于上传图片,阻止浏览器默认在当前页打开
<div class="app-container material" @dragover.prevent @drop.prevent></div>

原文地址:https://www.cnblogs.com/TheYouth/p/13865798.html