一次完整的http请求过程分析

  发布时间:2022-10-19 23:33:53   作者:三也_小也   我要评论
浏览器输入一个URL回车后,会发生什么呢?这里就为大家分享一下,需要的朋友可以参考下
(福利推荐:【腾讯云】服务器最新限时优惠活动,云服务器1核2G仅99元/年、2核4G仅768元/3年,立即抢购>>>:9i0i.cn/qcloud

(福利推荐:你还在原价购买阿里云服务器?现在阿里云0.8折限时抢购活动来啦!4核8G企业云服务器仅2998元/3年,立即抢购>>>:9i0i.cn/aliyun

浏览器输入一个URL回车后,会发生什么呢?

一、http请求的完整过程简述

1、域名解析:使用DNS协议进行域名解析
2、建立连接:发起TCP三次握手
3、发起http请求:建立TCP连接成功后,浏览器发起http请求
4、响应http请求:服务端响应http请求,浏览器得到返回response
5、解析response:浏览器解析response,并请求其它的资源(如js、css等)
6、浏览器渲染展示页面:浏览器根据内核对页面进行渲染展示
7、断开连接:TCP四次挥手

二、http请求过程举例详述

比如访问:www.jb51.net,具体流程:

1、通过DNS域名解析到IP

解析顺序:
1.1 浏览器搜索自己的DNS缓存
1.2 如果浏览器自身缓存里找不到,就会去搜索操作系统自身的DNS缓存
1.3 以上两个都无,则尝试从操作系统的hosts文件里面找位置一般在C:\Windows\System32\drivers\etc\hosts)
1.4 上面三个过程都没有获取到的话,就递归的去域名服务器去查找

2、通过IP使用ARP地址解析协议,找到对应的服务器

3、找到服务器后,发起TCP三次握手建立连接

在 HTTP 工作开始之前,浏览器 首先要通过网络与 服务器建立连接,该连接是通过TCP来完成的,该协议与 IP 协议共同构建 Internet,即著名的 TCP/IP 协议,因此 Internet 又被称作是TCP/IP网络。HTTP 是比 TCP 更高层次的应用层协议,根据规则,只有低层协议建立之后才能进行更高层协议的连接,因此,首先要建立 TCP 连接,一般TCP连接的端口号是80。建立TCP连接需要找到连接主机,所以需要先解析域名得到 IP 再找到主机进行3 次握手建立TCP连接(两台电脑之间建立一个通信桥梁)

4、建立TCP请求后,发起HTTP请求

一旦建立了 TCP 连接, 浏览器就会向 服务器发送请求命令

5、服务器响应HTTP请求,返回RESPONSE

浏览器向服务器发出请求后,服务器会对其进行应答,应答内容包括:协议的版本号和应答状态码 :HTTP/1.1 200 OK,响应头信息来记录服务器自己的数据,被请求的文档内容。最后发送一个空白行来表示头信息的发送到此为结束,接着以Content-Type响应头信息所描述的格式发送用户所请求的实际数据

6、浏览器解析response,并请求其它的资源文件(js、css等)

浏览器接收服务器应答回来的 html 代码和css,和js代码再进行页面的渲染或者接收到应答的文件进行保存等操作

7、浏览器进行渲染界面

根据解析内容渲染呈现给用户

8、四次挥手,断开tcp连接

断开不一定是在最后一步,根据是否是长连接,来决定什么时候断开

一般情况下,服务器向浏览器发送了响应数据,就可关闭 TCP 连接,但如果浏览器或者服务器在其头信息加入了这行代码:Connection:keep-alive,即代表长连接,可以先不断开连接。

TCP连接在发送后将仍然保持打开状态,浏览器可以继续通过相同的连接发送请求。保持连接节省了为每个请求建立新连接所需的时间,还节约了网络带宽

在这里插入图片描述

三、总结&扩展

在这里插入图片描述

完整的http请求包含:

浏览器发起请求-> 解析域名得到ip进行TCP连接 ->浏览器发送HTTP请求和头信息发送->服务器对浏览器进行应答,响应头信息和浏览器所需的内容-> 关闭TCP连接或保持-> 浏览器得到数据数据进行渲染

到此这篇关于一次完整的http请求过程分析的文章就介绍到这了,更多相关http请求过程内容请搜索程序员之家以前的文章或继续浏览下面的相关文章,希望大家以后多多支持程序员之家!

相关文章

  • 自组织网络Ad Hoc之OLSR 协议详解

    这篇文章主要介绍了自组织网络Ad Hoc之OLSR 协议详解,需要的朋友可以参考下
    2023-05-08
  • 自组织网络Ad Hoc之AODV协议详解

    这篇文章主要介绍了自组织网络Ad Hoc之AODV协议详解,需要的朋友可以参考下
    2023-05-08
  • 自组织网络Ad Hoc 网络基础知识

    自组织网络(Ad Hoc)是一种移动通信和计算机网络相结合的网络,是移动计算机网络的一种,用户终端可以在网络内随意移动而保持通信
    2023-05-08
  • 一次完整的http请求过程分析

    浏览器输入一个URL回车后,会发生什么呢?这里就为大家分享一下,需要的朋友可以参考下
    2022-10-19
  • 常用网络协议汇总

    本篇主要是对网络协议进行一个归纳总结,方便后续查阅及复习,当然如有新的认知或新的理解,也会持续更新
    2022-10-19
  • 常用网络协议汇总 详解篇

    今日回顾网络知识时,发现自己专门整理过一篇关于日常生活中常见的网络协议知识以及作用的梳理,特发此一贴,也当给自己巩固网络知识了,如有错误,望各大佬指正
    2022-10-19
  • HTTP协议的8种请求方式及常用请求方式的解析

    HTTP即超文本传输协议,是一种实现客户端和服务器之间通信的响应协议,它是用作客户端和服务器之间的请求,需要的朋友可以参考下
    2022-10-19
  • HTTP基准压测工具wrk使用指南

    这篇文章主要为大家介绍了HTTP基准压测工具wrk的使用指南,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-02-21
  • 解决https网页加载http资源报错问题

    这篇文章介绍了解决https网页加载http资源报错的方法,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-01-12
  • OSI七层模型与TCP/IP五层模型详解

    本文详细讲解了OSI七层模型与TCP/IP五层模型,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-12-16

最新评论

?


http://www.vxiaotou.com