一次完整的http请求过程

一次完整的http请求过程

1、DNS域名解析
    解析地址顺序:
        (1)浏览器自身的DNS缓存(缓存时间比较短,大概只有一分钟,且只能容纳1000条缓存);
        (2)如果浏览器自身缓存里找不到,那么浏览器会搜索系统自身的DNS缓存;
        (3)尝试从hosts文件里面找;
        (4)上面三个过程都没有获取到的话,就去域名服务器查找。
2、三次握手建立tcp连接
    在http工作开始之前,客户端首先要通过网络与服务器建立连接,http连接是通过tcp来完成的。http是比tcp更高层次的应用层协议,根据规则,只有低层协议建立之后,才能进行高层协议的连接,因此,首先要建立tcp连接,一般tcp连接的端口号是80。
3、客户端发起http请求
4、服务端响应http请求
5、客户端解析html代码,并请求html代码中的资源
    浏览器拿到html文件后,就开始解析其中的html代码,遇到js/css/image等静态资源时,就向服务器端去请求下载。
6、客户端渲染展示内容
7、关闭tcp连接
    一般情况下,一旦服务器向客户端返回了请求数据,它就要关闭tcp连接。然而如果客户端或者服务器在其头信息加入这行代码 Connection:keep-alive,tcp连接在返回数据后将仍然保持打开状态,于是,客户端可以继续通过相同的连接发送请求,也就是说前面的3-6步可以反复进行。保持连接节省了为每个请求建立新连接所需的时间,还节约了网络带宽。

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值