通信协议详情 - 前端笔记

第一本书:----------------------------------------------------------------------------------->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>

 

posted @   TheYouth  阅读(219)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 25岁的心里话
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现
历史上的今天:
2015-10-23 Block 的基本用法
2015-10-23 正则表达式的用法 转载
点击右上角即可分享
微信分享提示