| |
|
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
| -> 网络协议 -> 浏览器工作原理(2):TCP/IP协议 -> 正文阅读 |
|
|
[网络协议]浏览器工作原理(2):TCP/IP协议 |
四,TCP/IP协议浏览器通过HTTP协议向服务器发起请求获取数据,保证了服务器上的页面文件能完整的到达客户端浏览器上,在如此错综复杂的万维网上,HTTP协议是如何保证不丢包,丢包数据重传的呢?这是因为HTTP底层是依靠TCP/IP协议进行传输数据的,TCP/IP协议在客户端与服务器之间建立了稳定的连接,并能再丢包之后进行数据包重传,虽然牺牲了时间,但是带来的收益却是很值得的。 HTTP协议是应用层的协议,规定了数据的内容格式,TCP/IP协议是运输层的协议,规定了数据传输和连接的方式。 ?? 那浏览器是如何发送请求给服务器,服务器又是如何返回数据的呢? 浏览器方:
路由器:
web服务器方:
流程图: 🔑 TCP/IP 协议 TCP报文段首部格式
?? TCP的连接建立-三次握手
三次握手的目的是为了确认双方的接收和发送能力都ok,然后才能进行数据传输的前导工作。
💡 思考:TCP建立连接能采用两次握手吗?两次是不行,请看下面的图。
?? TCP的连接建立-四次挥手
💡 TCP客户端最后2MSL等待的原因
如果TCP客户端发送完最后一个TCP确认报文之后马上关闭,期间发生了该TCP确认报文因为丢失的原因并没有发送到TCP服务端上,会导致TCP服务端会一直发送TCP释放连接的报文,但是此时TCP客户端已经关闭了,根本不会应答TCP服务端,白白让费TCP服务端上的资源。2MSL的一般时间为2分钟,应用可以自行确认更短的时间。 |
|
|
| 网络协议 最新文章 |
| 使用Easyswoole 搭建简单的Websoket服务 |
| 常见的数据通信方式有哪些? |
| Openssl 1024bit RSA算法---公私钥获取和处 |
| HTTPS协议的密钥交换流程 |
| 《小白WEB安全入门》03. 漏洞篇 |
| HttpRunner4.x 安装与使用 |
| 2021-07-04 |
| 手写RPC学习笔记 |
| K8S高可用版本部署 |
| mySQL计算IP地址范围 |
|
|
| 上一篇文章 下一篇文章 查看所有文章 |
|
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
| 360图书馆 购物 三丰科技 阅读网 日历 万年历 2025年10日历 | -2025/10/26 21:39:41- |
|
| 网站联系: qq:121756557 email:121756557@qq.com IT数码 |