HTTP协议做了哪些功能

本文详细阐述了从浏览器输入URL到HTTP请求返回的全过程,包括重定向、缓存检查、DNS解析、TCP连接建立、发送HTTP请求及接收响应等关键步骤。

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

浏览器输入URL后HTTP请求返回的完整过程
  • 浏览器API 里有个performs ,用来记录所有的每个时间点上,时间过程的消耗,通过这个API performs 进行记录

step1

最开始我们要发起一个请求的时候,比如说是在浏览器里面输入一个url,然后按了一下回车的时候。那么最开始他要去做一个redirect,那为什么一开始就要做redirect呢?因为我们的浏览器可能记录了你这个地址已经永久跳转成一个新的地址,所以一开始浏览器就要先去判断一下我需不需要你redirect以及我要redirect到哪里

  • startTime (开始时间)
  • redirectStart(开始跳转)
Redirect (跳转)
  • 跳转结束

step2

然后第2步是要去看缓存,因为你请求了这个资源可能已经缓存过了,所以呢,我们要去看App cache里面它的缓存是否有,那么如果没有缓存,那这个时候呢,我就要去实际的服务器那边请求资源

  • fetchStart (fetch开始)
App cache (应用缓存)

step3

那么因为我们输入的是域名,那么域名要对应成IP之后,我们才能真正的访问到服务器,所以呢,这个时候要先去查找一个域名对应的IP地址,所以这叫DNS解析

  • domainLookupStart 域名解析开始
DNS (DNS查找)

domainLookupEnd 域名解析结束

step4

然后有了IP之后我们就要实现TCP连接,那么创建TCP连接,我们要经过一个TCP的三次握手之后,才能真正的把连接创建起来,而且同时如果我们这个请求是HTTPS的,那么要创建一个HTTPS的连接,它跟TCP的三次握手又不一样,因为它中间要有一个保证安全的数据传输的过程,那么这个时候连接创建好了之后

  • connectStart 开始创建链接
  • secureConnectStart 开始创建安全链接
TCP (创建TCP链接)

connectEnd 创建链接结束

step5

我们才真正开始发送HTTP请求的数据包,我们请求数据包发送完成之后,服务器接收到这个数据,它进行一个数据操作之后返回我们这个请求下的内容

  • requestStart 开始发送请求
Request (发送请求)

step6

那么它就是开始返回数据,返回数据之后,这一个HTTP请求才真正的完成

  • responseStart 开始接收返回
Response (接受响应)
  • responseEnd 结束接收返回
总结
  • 这也就是从我们打开浏览器输入url之后,怎一个有关于数据加载的过程所会经历的每一个时间点。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值