IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 网络协议 -> TCP协议:如何保证页面文件能被完整送达浏览器 -> 正文阅读

[网络协议]TCP协议:如何保证页面文件能被完整送达浏览器

衡量Web页面性能有一个重要指标**FP(first paint),指从页面加载到首次开始绘制的时长。**这个指标直接影响了用户的跳出率、pv、更高的参与度以及更高的转化率。
影响FP的一个重要指标就是网络加载速度
理解网络的关键就是对网络的协议有深刻的认识。
通常的网络通信都是基于

  • TCP/IP
  • UDP/IP
    进行的。
    主机之间都是通过数据包来进行网络通信的,下面将通过一个数据包的“旅程”来讲解一下以上两个概念

IP协议(网际协议)

把数据包送达目的主机

计算机的地址成为ip地址,访问任何网站实际上知识你的计算机向另一台计算机请求信息。
就像送快递,每个主机都有一个ip地址作为门牌号,在数据传输之前,进入网路层,数据包都会携带一个ip头,它包含了一些信息:

  • 目的主机ip
  • 源ip(自己的ip)
  • 版本号
  • 等等
    然后数据包通过物理底层将数据传输给另一台机器的网络层,网络层解析ip头识别出数据部分将解开的数据包交给上层。

在这里插入图片描述

UDP(用户数据包协议)

把数据包送达应用程序。

上层将数据包交给传输层的时候,将udp头携带进入数据包中,携带了具体某个端口的信息。
通过物理传输到目的主机,在传输层取出udp头,解析出端口号,将数据包交给对应的端口应用程序。
但是udp在发送数据时,如果数据包出错,虽然它可以效验对错,但是对于错误的数据包,udp并不提供重发机制,只是丢弃当前包,而且udp在发送之后也无法知道是否能到达目的地。
在这里插入图片描述

TCP(传输控制协议)

把数据完整的送达目的主机。是一种面向连接的、可靠的、基于字节流的传输层通信协议。

使用UDP有两个问题:

  1. 数据包丢失。
  2. 大的数据包拆成小的数据包的排序问题。(大文件会被拆分成很多小的数据包来传输,这些小的数据包会经过不同的路由,并在不同的时间到达接收端,而 UDP 协议并不知道如何组装这些数据包,从而把这些数据包还原成完整的文件。)

与UDP区别:

  • 对于数据包丢失情况,TCP提供重传机制
  • TCP引入了数据包排序机制,用来保证把乱序的数据包组合成一个完整的文件。

一个完整的TCP连接的生命周期包含了“建立连接”“传输数据”和“断开连接”三个阶段

  • 建立连接:tcp三次挥手建立连接
  • 传输数据:接收端需要对每个数据包进行效验,并对效验结果包装到一个数据包中发送给发送端。发送端决定是否重传。
  • 断开连接:四次挥手断开连接。
    在这里插入图片描述
    因为TCP为了保证数据传输的可靠性,牺牲了数据包的传输速度,因为“三次握手”和“数据包效验机制”等把传输过程中发送数据包的数量直接增加了一倍,所以传输速度不如UDP。
  网络协议 最新文章
使用Easyswoole 搭建简单的Websoket服务
常见的数据通信方式有哪些?
Openssl 1024bit RSA算法---公私钥获取和处
HTTPS协议的密钥交换流程
《小白WEB安全入门》03. 漏洞篇
HttpRunner4.x 安装与使用
2021-07-04
手写RPC学习笔记
K8S高可用版本部署
mySQL计算IP地址范围
上一篇文章      下一篇文章      查看所有文章
加:2022-04-22 19:15:05  更:2022-04-22 19:18:59 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年6日历 -2024/6/2 15:15:50-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码