http请求详解

在网页中浏览或者搜索东西是大家的经常性操作,当我们在搜索框中输入关键字,点击搜索,看到了搜索引擎在网页上为我们展示的搜索结果,这一整个的过程,就是一次http请求。

http请求的具体步骤:

  • DNS域名解析。

域名的解析工作是由DNS服务器来完成的,这个过程就是把域名转换为IP地址,每一个域名都有对应的IP地址,但是由于IP地址是一串数字不方便记忆,所以才有了域名,例如百度的域名是www.baidu.com,那么域名解析就是把这串英文转化为IP地址:202.108.22.5的过程。

  • TCP建立三次连接。

在这里插入图片描述
初始状态下,客户端和服务器都是关闭状态,客户端主动打开向服务器发送请求,服务端被动打开,客户端准备向服务端发送请求报文,并且选择初始的序列号,客户端进入了同步发送状态,服务器如果同意了客户端的请求,那么服务端就会准备发送确认报文,也创建一个序列号,然后进入同步收到状态,客户端收到了服务端发来的报文,还要再给服务端发送确认报文,此时客户端已经进入建立连接状态,服务端收到确认报文也进入了建立连接状态,然后双方开始通信。

形象记忆:
在这里插入图片描述

  • 建立TCP连接之后发送http请求。

请求报文包含:请求头,请求行,空行,请求数据
在这里插入图片描述
例子:
在这里插入图片描述

  • 服务器响应请求,浏览器得到html代码。

响应报文包含:状态码,响应头,响应正文。
在这里插入图片描述
例子:
在这里插入图片描述

  • 浏览器解析代码,请求html代码中的资源。

浏览器收到了服务器端发来的html代码资源,会对html进行解析,如果遇到了css静态资源,就会向服务器端请求下载。

  • 浏览器将得到的资源进行渲染,然后呈现给用户。

浏览器先是使用html构建DOM树,然后使用静态资源构建渲染树,渲染树构建完成之后就会把内容绘制给用户。

  • 服务器关闭TCP连接。

当服务端把请求内容发送给客户端之后,它就会关闭连接。

这就是http请求的整个过程以及原理。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值