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 小米 华为 单反 装机 图拉丁
 
   -> 网络协议 -> 请从计算机网络的角度,详细描述你在宿舍打开浏览器输入study.xxxx.edu.cn,并回车之后的流程,需要详细描述数据包的传输过程。 -> 正文阅读

[网络协议]请从计算机网络的角度,详细描述你在宿舍打开浏览器输入study.xxxx.edu.cn,并回车之后的流程,需要详细描述数据包的传输过程。

问题:请从计算机网络的角度,详细描述你在宿舍打开浏览器输入study.xxxx.edu.cn,并回车之后的流程,需要详细描述数据包的传输过程。
在这里插入图片描述

1.请求DNS服务器,通过DNS获取相应的域名对应的IP

具体过程:
11. 浏览器检查自身缓存中有没有被解析过的这个域名对应的ip地址,若有,解析结束。
1.2若浏览器缓存中没有,浏览器检查操作系统缓存中有没有对应的已解析过的结果。
1.3若还没有命中域名,请求本地域名服务器(LDNS)来解析该域名
1.4如果LDNS仍然没有命中,就直接跳到Root Server 域名服务器请求解析
1.5根域名服务器返回给LDNS一个所查询域的主域名服务器(cn.)地址
1.6此时LDNS再发送请求给上一步返回的gTLD
1.7接受请求的gTLD查找并返回这个域名对应的Name Server的地址
1.8Name Server根据映射关系表找到目标ip,返回给LDNS
1.9LDNS缓存这个域名和对应的ip
1.10LDNS把解析的结果返回给用户,用户根据TTL值缓存到本地系统缓存中

2.通过IP地址找到IP对应的服务器后,要求建立TCP连接,等浏览器发送完HTTP Request包
2.1建立TCP连接
(1) 服务端通过socket,bind和listen准备好接受外来的连接,此时服务端状态为Listen
(2)客户端通过调用connect来发起主动连接,导致客户端TCP发送一个SYN字节,告诉服务器客户将在(待建立的)连接中发送的数据的初始序列号,客户端状态为SYN_SENT。
(3)服务器确认(ACK)客户的SYN,并自己也发送一个SYN,它包含服务器将在同一连接中发送数据的初始序列号。
(4)客户端确认服务的ACK和SYN,向服务器发送ACK,客户端状态ESTABLISHED
(5)服务器接收ACK,服务器状态ESTABLISHED
2.2发送HTTP请求
连接成功建立后,向web服务器发送请求。当浏览器向Web服务器发出请求时,它向服务器传递了一个数据块,获取下列3部分HTTP请求信息
(1)请求方法URI协议/版本
(2)请求头
(3)请求正文

3.服务器接收到请求包之后才开始处理请求包,服务器调用自身服务,返回HTTP Response包
HTTP响应报文主要由状态行、响应头部、空行以及响应数据组成。

3.1状态行
协议版本,状态码,状态码描述
3.2响应头部
在这里插入图片描述

3.3响应数据
通过以上步骤,数据就已经传递完毕

4.客户端收到来自服务器的响应后开始渲染这个Response包里的主体,收到全部的内容后断开与该服务器之间的TCP连接
上述请求成功后,服务器会返回相应的HTML文件,既得到网页内容

在这里插入图片描述

4.1页面渲染
解析HTML以构建DOM树 –> 构建渲染树 –> 布局渲染树 –> 绘制渲染树

4.2断开TCP连接:
1、主动关闭方发送FIN,此时主动关闭方状态为:FIN_WAIT_1
2、被动关闭方收到后,回复ack,此时被动关闭方状态为:CLOSE_WAIT
3、主动关闭方收到ack后,状态为FIN_WAIT_2
4、被动关闭方发送FIN,此时状态为LAST_ACK
5、主动关闭方收到后,回复ack,此时状态为TIME_WAIT
6、被动关闭方收到ack后,状态为CLOSED

  网络协议 最新文章
使用Easyswoole 搭建简单的Websoket服务
常见的数据通信方式有哪些?
Openssl 1024bit RSA算法---公私钥获取和处
HTTPS协议的密钥交换流程
《小白WEB安全入门》03. 漏洞篇
HttpRunner4.x 安装与使用
2021-07-04
手写RPC学习笔记
K8S高可用版本部署
mySQL计算IP地址范围
上一篇文章      下一篇文章      查看所有文章
加:2021-08-17 15:45:03  更:2021-08-17 15:46:07 
 
开发: 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年5日历 -2024/5/17 16:17:59-

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