输入网址url到网页显示,期间发生了什么?

        当我们在浏览器输入一个网址后,知道网页显示在我们眼前,这一期间是如何发生的,接下来就将详细介绍在这期间发生的过程及使用的协议栈

1、浏览器解析URL并生产HTTP请求消息

        URL是我们输入的网址信息,比如 https://www.taobao.com  此时浏览器对网址进行解析,从而生产发送给web服务器的http请求信息。

 2、DNS查询web服务器的IP地址

        当浏览器解析完URL和已经生成了HTTP请求消息后,此时就需要向web服务器发送消息。这时候我们就需要知道web服务器的IP地址是啥,就跟我们在日常生活中给别人打电话,需要先知道对方的电话号码。

        于是就有了这么一种服务器:DNS服务器它是专门用来存储web服务器域名与IP地址的对应关系。

详细查找的具体过程如下:

        1、当查找web服务器的IP地址时,会优先在浏览器本地的缓存中查询是否存在

        2、如果在浏览器本地的缓存中没有找到,就会去操作系统的缓存中查找

        3、若在操作系统的缓存中也没有找到,则会去路由器的缓存中查找

        4、若还是没有找到,则此时会把查找请求发送给本地DNS服务器查找

        5、若在本地DNS服务器中没有找到,则去根域名服务器中去寻找

        6、如果到了这里还是找不到域名的对应信息,那只能说明一个问题:这个域名本来就不存在,它没有在网上正式注册过。或者域名过期了。

所以DNS根据域名查询IP地址的过程为:浏览器缓存 --> 操作系统缓存 --> 路由器缓存-->本地(ISP)域名服务器缓存 --> 根域名服务器。

3、建立TCP连接(三次握手)

当找到web服务器的IP地址后,浏览器向服务器发起请求建立连接,通过TCP三次握手来建立连接

4、浏览器发送HTTP请求

        浏览器和web服务器建立连接后,浏览器向服务器发送一个http请求,按照HTTP协议标准发送一个索要网页的请求。

5、服务器处理HTTP请求 

        服务器收到浏览器的请求以后,会解析这个请求,然后生成一个响应头和具体响应内容。接着服务器会传回来一个响应头和一个响应,响应头告诉了浏览器一些必要的信息,例如重要的Status Code,2开头如200表示一切正常,3开头表示重定向,4开头是客户端错误,如404表示请求的资源不存在,5开头表示服务器端错误。响应就是具体的要请求的页面内容。

6、浏览器解析HTML并渲染页面

        当浏览器接收到服务器发过来的响应时,浏览器会读取这个响应的响应头信息,然后开始解析这个响应并在浏览器的页面展示

        浏览器打开一个网址的时候会慢慢加载这个页面,一部分一部分的显示,直到完全显示,知道最后的旋转进度条停止。因此在浏览器没有完整接受全部HTML文档时,它就已经开始显示这个页面了。

7、断开TCP连接(四次挥手)

        当浏览器全部解析完服务器发过来的响应后,浏览器的解析数据页面就全部加载完成,此时浏览器就可以与服务器断开连接,通过TCP的四次挥手来断开连接。

        

  • 6
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
当你在浏览器中输入网址并按下回车键后,会发生以下一系列的步骤: 1. URL解析:浏览器会解析输入网址URL),将其分解为协议(如HTTP、HTTPS)、主机名(如www.example.com)和路径等组成部分。 2. DNS解析:浏览器将主机名发送给DNS服务器,以获取主机名对应的IP地址。DNS服务器将响应该请求,提供与主机名对应的IP地址。 3. 建立TCP连接:浏览器使用HTTP协议,通过建立TCP连接与服务器通信。它会使用服务器的IP地址和默认的HTTP端口(80)来建立连接。 4. 发送HTTP请求:浏览器向服务器发送HTTP请求,其中包含请求的方法(GET、POST等)、路径、协议版本、请求头部等信息。 5. 服务器处理请求:服务器接收到浏览器发送的HTTP请求后,会根据请求的内容进行处理。这可能涉及到读取文件、查询数据库或执行其他逻辑。 6. 服务器发送HTTP响应:服务器处理完请求后,会生成一个HTTP响应。响应包含状态码、响应头部和响应体等信息。状态码表示服务器对请求的处理结果,如200表示成功,404表示文件未找到等。 7. 接收响应:浏览器收到来自服务器的HTTP响应后,会根据响应头部的信息进行处理。这可能包括解析HTML、CSS和JavaScript文件,或者下载其他资源(如图片、视频等)。 8. 渲染页面:浏览器使用收到的HTML、CSS和JavaScript等资源来渲染页面。它会解析HTML结构,构建DOM树,并应用CSS样式。然后,它会执行JavaScript代码,以处理交互和动态内容。 9. 显示页面:最后,浏览器将渲染好的页面显示给用户。用户可以通过浏览器与页面进行交互,点击链接、填写表单等操作。 总结起来,当你输入网址并按下回车键时,浏览器会通过DNS查询获取服务器的IP地址,然后通过TCP连接与服务器建立通信。浏览器发送HTTP请求,服务器处理请求并返回HTTP响应。浏览器接收响应后,解析并渲染页面,最终将页面显示给用户。 希望能回答你的问题!如果还有其他问题,请随时提问。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值