## 三次握手
为了准确无误地把数据送达目标处,TCP协议采用了三次握手策略。用TCP协议把数据包送出去后,TCP不会对传送 后的情况置之不理,它一定会向对方确认是否成功送达。握手过程中使用了TCP的标志:SYN和ACK。
发送端首先发送一个带SYN标志的数据包给对方。接收端收到后,回传一个带有SYN/ACK标志的数据包以示传达确认信息。
最后,发送端再回传一个带ACK标志的数据包,代表“握手”结束。
若在握手过程中某个阶段莫名中断,TCP协议会再次以相同的顺序发送相同的数据包。
## 四次握手
第一次挥手:主动关闭方发送一个FIN,用来关闭主动方到被动关闭方的数据传送,也就是主动关闭方告诉被动关闭方:我已经不 会再给你发数据了(当然,在fin包之前发送出去的数据,如果没有收到对应的ack确认报文,主动关闭方依然会重发这些数据),但是,此时主动关闭方还可 以接受数据。
第二次挥手:被动关闭方收到FIN包后,发送一个ACK给对方,确认序号为收到序号+1(与SYN相同,一个FIN占用一个序号)。
第三次挥手:被动关闭方发送一个FIN,用来关闭被动关闭方到主动关闭方的数据传送,也就是告诉主动关闭方,我的数据也发送完了,不会再给你发数据了。
第四次挥手:主动关闭方收到FIN后,发送一个ACK给被动关闭方,确认序号为收到序号+1,至此,完成四次挥手。
- Houser的个人Wiki
- Javascript
- 语言基础
- 变量
- 操作符整理
- new
- Ajax
- 事件
- 遍历
- 字符串转数字方法
- 原型链
- apply/call/bind
- 异步编程
- 模块化
- 继承的方式
- 对象的创建方式
- 内存泄漏
- js延迟加载
- 数据类型
- typeof
- 垃圾回收
- 作用域
- 闭包
- this
- es6
- 代码片段
- 对象拷贝
- Node.js
- 模块
- 库&框架
- Jquery
- 优点
- 组件库
- React
- React原理
- Key的作用
- JSX
- Redux
- Mobx
- 生命周期
- Typescript
- HTML&CSS
- viewport meta
- websocket
- webwork
- web GL
- html全局属性
- iframe
- 页面间通讯
- SVG
- 盒模型
- 输入url到显示的过程
- BFC(块格式化上下文)
- 动画
- CSS 秘密花园
- 前端
- webpack
- 后端
- nginx
- springboot
- 网络
- 跨域
- 网络攻击
- TCP
- Https
- Http状态码
- 缓存策略
- Http2
- 数据结构&算法
- 常用数据结构
- 开发&编码
- Git
- 分支策略
- 基本操作
- VSCode
- 工具
- App开发
- ReactNative
- 项目&业务
- Docker
- 协作工具
- 前端性能优化
- 登录授权
- 软件工程
- 渐进增强和优雅降级
- 计算机基础
- 设计模式
- 单例模式
- 工厂模式
- 发布订阅模式
- 适配器模式
- 代理模式
- 外观模式
- 命令模式
- 桥接模式
- 模板模式
- 职责链模式
- 正则