浏览器从URL输入到页面展现到底发生了什么?

本文详细解析了浏览器从输入URL开始,经历DNS域名解析、TCP三次握手建立连接、发送HTTP请求、服务器处理并返回响应、浏览器解析渲染页面直至TCP四次挥手断开连接的全过程,涵盖了网络协议、HTTP请求响应以及页面渲染的关键步骤。
摘要由CSDN通过智能技术生成


为什么输入url就可以展现对应的页面呢?背后经历了什么?

总体为以下几个过程:

  • DNS解析,将域名解析成Ip地址
  • Tcp/Ip三次握手建立连接
  • 浏览器向服务器发送http请求
  • 服务器处理请求并返回http报文
  • 浏览器解析渲染页面
  • tcp四次挥手断开连接

一、DNS域名解析

      在浏览器输入网址(URL)后,首先要经过域名解析,因为浏览器只能通过IP地址找到对应的服务器,输入的是域名,那么就需要解析成IP地址。

过程

      1、浏览器先检查自身缓存中有没有被解析过的这个域名对应的 IP 地址。
      2、浏览器缓存中没有命中,浏览器会检查操作系统缓存中有没有对应的已解析过的结果。(在 Windows 中可通过 C 盘里一个叫 hosts 的文件来设置,如果你在这里指定了一个域名对应的 IP 地址,那浏览器会首先使用这个 IP 地址。)
      3、至此还没有命中域名,会请求本地域名服务器(LDNS)来解析这个域名,这台服务器一般在你的城市的某个角落,距离你不会很远,并且这台服务器的性能都很好,一般都会缓存域名解析结果,大约 80% 的域名解析到这里就会完成。
      4、LDNS 仍然没有命中,就直接跳到 Root Server 域名服务器请求解析。
      5、根域名服务器返回给 LDNS 一个所查询域的主域名服务器(gTLD Server,国际顶尖域名服务器,如.com .cn .org 等)地址。
      6、此时 LDNS 再发送请求给上一步返回的 gTLD Server。
      7、接受请求的 gTLD Server 查找并返回这个域名对应的 Name Server 的地址,这个 Name Server 就是网站注册的域名服务器。
      8、Name Server 根据映射关系表找到目标 IP,返回给 LDNS。LDNS 缓存这个域名和对应的 IP。
      9、LDNS 把解析的结果返回给用户,用户根据 TTL 值缓存到本地系统缓存中,域名解析过程至此结束。

二、Tcp三次握手建立连接

目的

      为了防止已失效的连接请求报文段突然又传送到了服务端,因而产生错误。

过程

  • 第一次握手,由浏览器发起,告知服务器,我要发送请求了(浏览器发送一个带SYN=1,Seq=x的数据包到服务器)
  • 第二次握手,由服务器发起,告知浏览器,我准备接收了,你发送吧(服务器发回一个带SYN=1,ACK= X+1,Seq=Y的响应包以示传达确认信息)
  • 第三次握手,由浏览器发起,告知服务器,我马上就要发了,你准备好接收吧(浏览器再传回一个带ACK=Y+1,Seq=Z)
    在这里插入图片描述

三、浏览器向服务器发送http请求

       一个 HTTP 请求报文由请求行(request line)、请求头部(headers)、空行(blank line)和请求数据(request body)4 个部分组成。

请求行

请求行包括请求方法、URL、协议版本如:


                
  • 4
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值