02 | TCP协议:如何保证页面文件能被完整送达浏览器?
该思维导图由 AI 生成,仅供参考
- 深入了解
- 翻译
- 解释
- 总结
TCP协议在Web页面性能中扮演着关键角色,影响着页面加载速度和用户体验。本文从数据包的角度出发,详细介绍了数据包在网络中的传输过程。通过IP协议将数据包送达目的主机,再通过UDP协议将数据包送达应用程序。TCP协议保证了数据的可靠性和完整性,通过重传机制和数据包排序机制实现了这一点。文章深入探讨了TCP连接的建立、数据传输和断开连接三个阶段,以及TCP协议与HTTP协议的关系。深入理解TCP/IP协议有助于优化Web性能,提升对项目的理解和解决问题的能力。整体而言,本文内容详实,适合想深入了解网络协议的读者。
《浏览器工作原理与实践》,新⼈⾸单¥59
全部留言(93)
- 最新
- 精选
- DongzHTTP协议和TCP协议都是TCP/IP协议簇的子集。 HTTP协议属于应用层,TCP协议属于传输层,HTTP协议位于TCP协议的上层。 请求方要发送的数据包,在应用层加上HTTP头以后会交给传输层的TCP协议处理,应答方接收到的数据包,在传输层拆掉TCP头以后交给应用层的HTTP协议处理。建立 TCP 连接后会顺序收发数据,请求方和应答方都必须依据 HTTP 规范构建和解析HTTP报文。
作者回复: 赞
2019-08-084235 - sheldon现在的浏览器可以同时打开多个页签,他们端口一样吗?如果一样,数据怎么知道去哪个页签?
作者回复: 端口一样的,网络进程知道每个tcp链接所对应的标签是那个,所以接收到数据后,会把数据分发给对应的渲染进程
2019-08-091795 - Crishttp 和 websocket都是属于应用层的协议吗?
作者回复: 是的,他们都是应用层协议,而且websocket名字取的比较有迷惑性,其实和socket完全不一样,你可以把websocket看出是http的改造版本,增加了服务器向客户端主动发送消息的能力。
2019-08-0953 - 美美tcp传送数据时 浏览器端就做渲染处理了么?如果前面数据包丢了 后面数据包先来是要等么?类似的那种实时渲染怎么处理?针对数据包的顺序性?
作者回复: 接收到http响应头中的content-type类型时就开始准备渲染进程了, 响应体数据一旦接受到便开始做DOM解析了! 基于http不用担心数据包丢失的问题,因为丢包和重传都是在tcp层解决的。http能保证数据按照顺序接收的!
2019-08-08348 - 高斯定律这个tcp讲的非常清晰 一次就听明白了、tcp是个梯子,http就是利用梯子来搬运货物
作者回复: 有点形象
2019-08-08335 - 黄紫茜我想问下,输入url回车后理论上是不是生成http请求报文,然后传给TCP,加上TCP首部,然后进行三次握手,将http请求报文数据传递,四次挥手,请求报文到达服务端,然后服务端在返回响应报文,返回到过程也是要三次握手,传递数据,四次挥手?因为网上看到不少文章都说先三次握手,然后发起http请求。
作者回复: 先通过三次握手建立tcp链接,链接建立好之后,发送http请求行和http请求头给服务器,然后服务器返回响应行,响应头和响应体,最终完成后通过四次挥手断开tcp链接!
2019-08-22330 - hogger我记得在网络工程里有一句话,下层为上层提供服务,TCP为HTTP提供差错校验,超时重传的机制吧.
作者回复: 下层为上层提供服务,这句很到位
2019-08-08224 - 我是辣妈1、IP 负责把数据包送达目的主机。 2、UDP 负责把数据包送达具体应用。 3、而 TCP 保证了数据完整地传输,它的连接可分为三个阶段:建立连接、传输数据和断开连接。 老师,这里面第二条,UDP和TCP都是把数据包送达具体应用应用的吧?
作者回复: 对的,只不过udp有可能会丢包,而tcp采用了很多复杂的机制,保证了数据的完整性
2019-08-10319 - Cris老师,tcp和udp都是传输层协议,这两个是同时存在还是只能选其一,我看了这期感觉是选其一?
作者回复: 二选一
2019-09-02214 - 尔冬橙老师,那我打开谷歌浏览器里面开了10个页面,那就是至少有40个进程?windows下我控制面板里能看到40个google.exe?插件进程页面间能公用么
作者回复: 不用这么多啊,浏览器进程 网络进程,GPU进程都是共同的,你打开十个页面一般也就十几个进程。
2019-08-26313