打开一个页面,整个过程会使用哪些协议?

打开一个页面,整个过程会使用哪些协议?

网络通信模型可以用下图来简单表示,根据下面这个顺序,我们来说明,打开一个页面,整个过程会使用哪些协议?

在这里插入图片描述
首先,我们可以梳理一个简单的完整流程:

1.在浏览器中输入指定网页的URL地址;

2.浏览器通过DNS协议解析域名,获取对应的IP地址;

3.浏览器根据IP地址和端口号,与目标服务器建立TCP连接;

4.浏览器在TCP连接上发送HTTP请求报文,请求获取网页的内容;

5.服务器接收到HTTP请求后,处理请求并返回HTTP响应报文给浏览器;

6.浏览器收到HTTP响应报文后,解析响应体中的HTML代码,渲染网页的结构和样式,同时根据HTML中的其他资源的URL(如图片、CSS、JS等),再次发起HTTP请求,获取这些资源的内容,直到网页完全加载显示;

7.当浏览器不再需要与服务器通信时,它可以主动关闭TCP连接,或者等待服务器发起关闭连接的请求。

1.应用层

1.在浏览器中输入指定网页的URL地址;

URL((Uniform Resource Locator,统一资源定位符)。互联网上的每一个文件都有一个唯一的URL,它包含的信息指出文件的位置以及浏览器应该怎么处理它。

URL基本格式
在这里插入图片描述
URL具体格式

https://mbd.baidu.com/newspage/data/landingsuper?context=%7B%22nid%22%3A%22news_9118781422654834654%22%7D&n_type=-1&p_from=-1
可以看到在这个URL中有些信息被省略了。

1.协议: **https: ** 表示协议方案。URL 的前缀通常表示了该网址采用了何种应用层协议,常见有两种——HTTP 和 HTTPS。也有其他类型(比如文件传输时用到的 ftp: ,访问mysql时用的jdbc:mysql);

2.登录信息: 现在的网站进行身份认证一般不会通过URL进行,一般会省略;

3.域名: **mbd.baidu.com: **服务器地址,此处是一个域名,域名便是访问网址的通用名(也有可能是IP地址),域名会通过DNS系统解析成一个具体的IP地址(可以通过ping命令看到地址);

4.端口: 在上面的URL中端口号被省略了,当端口号省略的时候, 浏览器会根据协议类型自动决定使用哪个端口. 例如 http 协议默认使用 80 端口,https 协议默认使用 443 端口;

5.资源路径: /newspage/data/landingsuper: 带层次的文件路径,早先的设计是该文件通常物理存储于服务器主机上,但现在随着网络技术的进步,该文件不一定会物理存储在服务器主机上,有可能存放在云上,而文件路径也有可能是虚拟的(遵循某种规则)。

6.参数: context=%7B%22nid%22%3A%22news_9118781422654834654%22%7D&n_type=-1&p_from=-1,查询字符串(query string),本质上是一个键值对的形式 key=value,键值对之间使用&分隔,键和值之间使用=分隔。

7.片段标识: 这里的URL忽略了片段标识,片段标识主要用于页面内跳转。(例如 Vue 官方文档:
https://cn.vuejs.org/v2/guide/#%E8%B5%B7%E6%AD%A5, 通过不同的片段标识跳转到文档的不同章节)

2.浏览器通过DNS协议解析域名,获取对应的IP地址;

DNS

输入URL之后,里面的域名会通过DNS系统解析成一个具体的IP地址。

DNS,全称为域名系统(Domain Name System),是一种负责将域名解析为IP地址的系统。它由解析器和域名服务器组成,是互联网中至关重要且广泛应用的一个服务。

链接:DNS(域名解析系统)

4.浏览器在TCP连接上发送HTTP请求报文,请求获取网页的内容;

5.服务器接收到HTTP请求后,处理请求并返回HTTP响应报文给浏览器;

6.浏览器收到HTTP响应报文后,解析响应体中的HTML代码,渲染网页的结构和样式,同时根据HTML中的其他资源的URL(如图片、CSS、JS等),再次发起HTTP请求,获取这些资源的内容,直到网页完全加载显示;

HTTP/HTTPS

使用DNS,拿到目标主机的IP地址之后,浏览器可以通过目标IP地址发送请求。

链接:HTTP
链接:HTTPS

2.传输层

3.浏览器根据IP地址和端口号,与目标服务器建立TCP连接;

7.当浏览器不再需要与服务器通信时,它可以主动关闭TCP连接,或者等待服务器发起关闭连接的请求。

HTTP协议是基于TCP协议的,在应用层数据封装好后,交给传输层,经过TCP协议继续封装。

TCP协议一: TCP协议之特点和首部格式
TCP协议二: TCP协议之可靠传输
TCP协议三: TCP的三次握手和四次挥手
TCP协议四: TCP协议中的几个机制

3.网络层

2.浏览器通过DNS协议解析域名,获取对应的IP地址;

3.浏览器根据IP地址和端口号,与目标服务器建立TCP连接;

网络层的的核心功能——转发与路由:

转发:将分组从路由器的输入端口转移到合适的输出端口;
路由:确定分组从源到目的经过的路径。

IP协议
我们需要了解IP是什么和IP协议。
链接:IP协议

以上就是打开一个页面,整个过程会使用哪些协议的总结

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值