网页输入 URL 的过程

当输入URL如'www.baidu.com',首先进行DNS解析找到IP,然后通过TCP三次握手建立连接。浏览器发送HTTP请求,服务器处理后返回响应,包括状态码、响应头和正文。浏览器接收并渲染页面,最后通过TCP四次挥手断开连接。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

输入url的过程(6步):域名解析得到IP地址 -> 建立tcp连接 -> 浏览器发送http请求 -> 服务器处理http请求 -> 浏览器渲染页面 -> 断开tcp连接

1. 域名解析:
当我们在浏览器中输入一个URL,例如”www.baidu.com”时,这个地址并不是百度网站真正意义上的地址。互联网上每一台计算机的唯一标识是它的IP地址,因此我们输入的网址首先需要先解析为IP地址,这一过程叫做DNS解析。

DNS解析是一个递归查询的过程。例如,我们需要解析”www.baidu.com”时,会经历以下步骤:
1.在本地域名服务器中查询IP地址,未找到域名;
2.本地域名服务器回向根域名服务器发送请求,未找到域名;
3.本地域名服务器向.com顶级域名服务器发送请求,未找到域名;
4.本地域名服务器向.baidu.com域名服务器发送请求,找到该域名,将对应的IP返回给本地域名服务器。

2. TCP连接:
HTTP协议是使用TCP协议作为其传输层协议的,在拿到服务器的IP地址后,浏览器客户端会与服务器建立TCP连接。该过程包括三次握手:
1.第一次握手:建立连接时,客户端向服务端发送请求报文
2.第二次握手:服务器收到请求报文后,如同意连接,则向客户端发送确认报文
3.第三次握手,客户端收到服务器的确认后,再次向服务器给出确认报文,完成连接。

三次握手主要是为了防止已经失效的请求报文字段发送给服务器,浪费资源。

3. 浏览器发送HTTP请求:
浏览器构建http请求报文,并通过TCP协议传送到服务器的指定端口。http请求报文一共包括三个部分:
1.请求行:指定http请求的方法、url、http协议版本等
2.请求头:描述浏览器的相关信息,语言、编码等。如下
在这里插入图片描述
3.请求正文:当发送POST, PUT等请求时,通常需要向服务器传递数据。这些数据就储存在请求正文中。

4. 服务器处理HTTP请求:
服务器处理http请求,并返回响应报文。响应报文包括三个部分:
1.状态码:http服务常用的状态码及其含义如下

状态码含义
1xx服务器收到请求,客户端可继续发送请求
2xx请求成功
3xx重定向
4xx客户端错误
5xx服务器错误

2.响应头:包含了响应的相关信息,如日期等
在这里插入图片描述
3.响应正文:服务器返回给浏览器的文本信息,通常的html、js、css、图片等就包含在这一部分里面。

5. 浏览器渲染:
浏览器接受到http服务器发送过来的响应报文,并开始解析html文档,渲染页面。具体的渲染过程包括:构建DOM树、构建渲染树、定位页面元素、绘制页面元素等。

6. 断开TCP连接:
客户端与服务器四次挥手,断开tcp连接。四次挥手:
1.第一次挥手:客户端想分手,发送消息给服务器
2.第二次挥手:服务器通知客户端已经接受到分手请求,但还没做好分手准备
3.第三次回收:服务器已经做好分手准备,通知客户端
4.第四次挥手:客户端发送消息给服务器,确定分手,服务器关闭连接

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值