什么是http?当我们输入网址到页面渲染,计算机和浏览器都做了什么呢?

本文详细解析了HTTP请求从客户端发起到服务器响应的全过程,包括DNS解析、TCP三次握手、HTTP请求与响应等关键步骤,以及浏览器如何渲染页面。

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

  http是一种协议,计算机之间要遵守这个协议才可以相互通信。

  那http在使用场景中的流程是怎样的呢?

  1、http客户端发起请求,创建端口,一般是80默认端口

  2、http服务器在端口监听客户端请求

  3、http服务器向客户端返回状态和内容

  当我们输入网址到页面渲染,计算机和浏览器都做了什么呢?

  以Chrome浏览器为例:

  1、Chrome搜索自身的DNS缓存,看自身的缓存中有没有比如123.com这个域名已经缓存的IP地址,这个缓存的时间大概只有1分钟。如果有缓存,则看有没过期,如果没看有过期,这个解析就结束了。

  2、Chrome搜索操作系统自身的DNS缓存(浏览器没有找到缓存或缓存已经失效)

  3、Chrome读取本地的HOSTS文件 C:\Windows\System32\drivers\etc\hosts

  4、浏览器发起一个DNS的一个系统调用(一般是宽带运营商提供的)

    4.1宽带运营商服务器查看本身缓存

    4.2运营商服务器发起一个迭代DNS解析的请求

      4.2.1 运营商服务器把结果返回操作系统内核同时缓存起来

      4.2.2操作系统内核把结果返回浏览器

      4.2.3最终浏览器拿到了www.123.com对应的IP地址

  5、浏览器获得域名对应的IP地址后,发起HTTP“三次握手”(TCP连接请求)

    5.1 客户端--->服务器 :是否可以连接

    5.2 服务器--->客户端:可以连接

    5.3 客户端--->服务器:OK,已连接

  6、TCP/IP连接建立起来后,浏览器就可以向服务器发送HTTP请求了

  7、服务器端接受到了这个请求,根据路径参数,经过后端的一些处理之后,把处理后的结果数据返回给浏览器,如果是123.com的页面就会把完整的HTML页面代码返回给浏览器

  8、浏览器拿到了123.com的完整的HTML页面代码,在解析和渲染这个页面的时候,里面的JS、CSS、图片静态资源,他们同样也是一个个http请求,都需要经过上面的七个步骤

  9、浏览器根据拿到的资源对页面进行渲染,最后把一个完整的页面呈现给了用户

  真实的HTTP请求远比以上复杂,有兴趣的可以详细了解。

  

转载于:https://www.cnblogs.com/zlfProgrammer/p/10108697.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值