在浏览器地址栏输入一个URL后回车之后会经历哪些流程?浏览器输入网址后有哪些步骤?

这也是一个面试的时候经常出现的问题,下面说一下简略版和详细版的回答,以防止追问。
简略版:

  1. 通过DNS(域名解析服务器)获得IP地址
  2. 首先尝试与http默认端口80建立TCP连接(http是是基于TCP之上的)
  3. 如果协议是https那么需要转换协议为https
  4. 连接建立后服务器发送html文本
  5. 浏览器显示html文本

其中的一些解释:

  1. 域名解析:真实过程非常复杂,主要步骤如下:

    1. 检查浏览器缓存看有没有对应与主机名(如www.taobao.com)的IP地址,有就返回,如果没有进行下一步
    2. 查找本机的hosts文件,hosts文件就是存储了主机名和IP地址的映射关系的文件,有就返回,如果没有进行下一步
    3. 向本地DNS服务器查询(本地DNS服务器:一个居民区或一个机构的ISP都有一个DNS服务器),有就返回,如果没有进行下一步,这一步的查询是递归查询
    4. 本地DNS服务器查询不到,就去向根DNS服务器查询,根DNS服务器会向本地DNS服务器返回负责的顶级域DNS(TLD top-level domain DNS)IP列表,本地DNS服务器继续向TLD DNS服务器发送查询报文,TLD DNS服务器返回相应的权威服务器的IP,本地DNS服务器继续向权威服务器发送查询报文,权威服务器把最终查询到的结果返回给本地DNS服务器,本地DNS服务器将查询到的结果返回给请求主机。这一步的查询是迭代查询,因为所有的查询结果都返回给本地DNS服务器。
      上述过程就是计算机网络书中介绍的过程。
      在这里插入图片描述
  2. http重定向:参见https://blog.csdn.net/cswhl/article/details/110183132

参考资料:
计算机网络:自顶向下方法 7th edition

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
当用户在浏览器地址栏输入内容并按下回车键时,浏览器经历以下步骤来打开网页: 1. 解析URL浏览器解析用户输入URL(统一资源定位符),URL包含了要访问的网页的地址和其他参数。 2. DNS解析:浏览器向域名系统(DNS)服务器发送一个请求,以获取输入URL中所包含的网址IP地址。DNS服务器将返回对应的IP地址,使得浏览器能够与服务器建立连接。 3. 建立连接:浏览器使用HTTPHTTPS协议与服务器建立连接。对于HTTPS协议,还进行SSL/TLS握手过程来建立安全连接。 4. 发送请求:浏览器向服务器发送一个HTTP请求,其中包含了用户请求的网页和其他相关信息,如请求方法(GET、POST等)和请求头部(包含浏览器的信息、支持的数据格式等)。 5. 服务器处理请求:服务器接收到浏览器发送的请求后,根据请求的内容进行处理。这可能包括读取数据库、执行动态代码等操作。 6. 响应生成:服务器处理完成后,生成一个HTTP响应。响应中包含了网页的内容、状态码(表示请求成功或失败的数字代码)和其他相关信息。 7. 接收响应:浏览器接收到服务器发送的HTTP响应后,开始解析响应。浏览器根据响应头部的信息来判断如何处理响应内容。 8. 渲染页面:如果响应中的状态码表示成功(例如200),浏览器开始渲染页面。它解析HTML、CSS和JavaScript代码,构建DOM树和渲染树,并将网页内容显示在浏览器窗口中。 9. 下载资源:在渲染页面的过程中,浏览器可能发现页面中引用了其他资源,如图像、样式表、脚本文件等。浏览器发送请求来下载这些资源,并将其添加到页面中。 10. 执行脚本:如果页面包含了JavaScript代码,浏览器执行这些脚本,以实现交互和动态效果。 11. 网页加载完成:当所有的资源都被下载并且页面完成渲染时,浏览器触发页面加载完成的事件。 这是一个简要的描述,实际上,浏览器的工作过程还涉及到缓存机制、安全策略、优化算法等。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值