浏览器从输入网址到页面展示的过程

author author     2023-05-05     212

关键词:

参考技术A

完整高频题库仓库地址: https://github.com/hzfe/awesome-interview

完整高频题库阅读地址: https://febook.hzfe.org/

URL DNS TCP 渲染

浏览器从输入网址到渲染页面主要分为以下几个过程

URL(统一资源定位符,Uniform Resource Locator)用于定位互联网上资源,俗称网址。

我们在地址栏输入 HZFE 官方网址 hzfe.org 后敲下回车,浏览器会对输入的信息进行以下判断:

大部分浏览器会从历史记录、书签等地方开始查找我们输入的网址,并给出智能提示。

因为浏览器不能直接通过域名找到对应的服务器 IP 地址,所以需要进行 DNS 解析,查找到对应的 IP 地址进行访问。

DNS 解析流程如下:

查询通常遵循以上流程,从请求主机到本地 DNS 服务器的查询是递归查询,DNS 服务器获取到所需映射的查询过程是迭代查询。

当浏览器获取到服务器的 IP 地址后,浏览器会用一个随机的端口(1024 < 端口 < 65535)向服务器 80 端口发起 TCP 连接请求(注:HTTP 默认约定 80 端口,HTTPS 为 443 端口)。这个连接请求到达服务端后,通过 TCP 三次握手,建立 TCP 的连接。

建立连接后就可以通过 HTTP 进行数据传输。如果使用 HTTPS,会在 TCP 与 HTTP 之间多添加一层协议做加密及认证的服务。HTTPS 使用 SSL(Secure Socket Layer) 和 TLS(Transport Layer Security) 协议,保障了信息的安全。

当浏览器到 web 服务器的连接建立后,浏览器会发送一个初始的 HTTP GET 请求,请求目标通常是一个 HTML 文件。服务器收到请求后,将发回一个 HTTP 响应报文,内容包括相关响应头和 HTML 正文。

状态码是由 3 位数组成,第一个数字定义了响应的类别,且有五类可能取值

响应报文由四部分组成(响应行 + 响应头 + 空行 + 响应体)

不同的浏览器引擎渲染过程都不太一样,这里以 Chrome 浏览器渲染方式为例。

现在的页面为了优化请求的耗时,默认都会开启持久连接(keep-alive),那么一个 TCP 连接确切关闭的时机,是这个 tab 标签页关闭的时候。这个关闭的过程就是 四次挥手 。关闭是一个全双工的过程,发包的顺序是不一定的。一般来说是客户端主动发起的关闭,过程如下图所示:

输入一个url到浏览器页面展示都经历了哪些过程(代码片段)

...定是输入你要访问的网站网址了,俗称url;二:缓存解析浏览器获取了这个url,当然就去解析了,它先去缓存当中看看有没有,从浏览器缓存-系统缓存-路由器缓存当中查看,如果有从缓存当中显示页面,然后没有那就进行步骤... 查看详情

从输入网址(url)到页面展示的过程

...语义化的好记忆,而IP是类似:192.168.1.0,不易人记忆.IP寻址:浏览器根据输入的网址去寻找它对应的IP地址首先需了解DNS(网域名称系统):是互联网的一项服务,它作为将域名和IP地址相互映射的一个分布式数据库,能够使人更方便地访... 查看详情

从浏览器输入网址回车到看到页面过程到底经历了什么?(代码片段)

作者:老油条IT记公众号:老油条IT记#前言:从浏览器输入网址到回车看到页面的过程,面试逃不掉的一个问题,我们知道从浏览器输入网址到看到页面主要是涉及DNS解析,TCP三次握手,请求报文,响应报文,TCP4次挥手。#首先我... 查看详情

从浏览器输入网址到页面显示的全过程

  【前言】从全局来讲,当键入一个url时,肯定是需要从服务器请求某个页面或某条数据然后显示到用户自己的电脑屏幕上。这个过程中其实包括:DNS对url域名的解析(在url中解析出服务器所在的IP地址,有的url也包括端... 查看详情

浏览器输入网址到浏览器渲染页面的过程

1) 在客户端浏览器中输入网址URL。2) 发送到DNS(域名服务器)获得域名对应的WEB服务器的IP地址。3) 客户端浏览器与WEB服务器建立TCP(传输控制协议)连接。4) 客户端浏览器向对应IP地址的WEB服务器发送相应的HTTP或HTTPS... 查看详情

从输入url到页面展示,到底发生了什么

...URL到页面展示,到底发生了什么1、输入URL当我们开始在浏览器中输入网址的时候,浏览器其实就已经在智能的匹配可能得url了,他会从历史记录,书签等地方,找到已经输入的字符串可能对应的url,然后给出智能提示,让你可... 查看详情

第297天学习打卡(知识点回顾输入一个网址到展示过程)

...回顾输入一个网址到展示的过程输入网址缓存解析:浏览器获取这个地址,查看缓存(浏览器缓存,系统缓存,路由器缓存)中查看,如果缓存中有,就显示页面域名解析:缓存中没有,就... 查看详情

第297天学习打卡(知识点回顾输入一个网址到展示过程)

...回顾输入一个网址到展示的过程输入网址缓存解析:浏览器获取这个地址,查看缓存(浏览器缓存,系统缓存,路由器缓存)中查看,如果缓存中有,就显示页面域名解析:缓存中没有,就... 查看详情

第297天学习打卡(知识点回顾输入一个网址到展示过程)

...回顾输入一个网址到展示的过程输入网址缓存解析:浏览器获取这个地址,查看缓存(浏览器缓存,系统缓存,路由器缓存)中查看,如果缓存中有,就显示页面域名解析:缓存中没有,就... 查看详情

从输入url到页面展示,这中间发生了什么?

备注:Chrome包括:1个浏览器主进程、1个GPU进程、1个网络进程、多个渲染进程、多个插件进程1.用户输入URL,浏览器会根据用户输入的信息判断是搜索还是网址,如果是搜索内容,就将搜索内容+默认搜索引擎合成新的URL;如果用... 查看详情

从输入url到页面展示到底发生了什么(代码片段)

阅读目录1、输入地址2、浏览器查找域名的IP地址  3、浏览器向web服务器发送一个HTTP请求4、服务器的永久重定向响应5、浏览器跟踪重定向地址6、服务器处理请求7、服务器返回一个HTTP响应 8、浏览器显示HTML9、浏览器发送请... 查看详情

网页从输入网址到渲染完成经历了哪些过程?

...对应的web服务器对应的ip地址;与web服务器建立TCP连接;浏览器向web服务器发送http请求;web服务器响应请求,并返回指定url的数据(或错误信息,或重定向的新的url地址);浏览器下载web服务器返回的数据及解析html源文件;生... 查看详情

浏览器从输入url到页面加载显示完成全过程解析

一浏览器查找域名对应的IP地址(域名解析的过程,先进行缓存的查看);  1、在浏览器中输入www.qq.com域名,操作系统会先检查自己本地的hosts文件是否有这个网址映射关系,如果有,就先调用这个IP地址映射,完成域名解析... 查看详情

从输入网址到显示网页的过程中发生了什么?

...个简单而复杂的问题。大致流程总结如下:1.输入地址2.浏览器查找域名的IP地址(这一步包括DNS具体的查找过程,包括:浏览器缓存->系统缓存->路由器缓存...)3.浏览器向web服务器发送一个HTTP请求4.服务器的永久重定向响应... 查看详情

从输入网址到显示网页的全过程分析

...次化的认知,同样这里也包括这些应用所用到的技术:像浏览器,HTTP,HTML,网络服务器,需求处理等等。本文将更深入的研究当你输入一个网址的时候,后台到底发生了一件件什么样的事~1.首先嘛,你得在浏览器里输入要网... 查看详情

从输入网址到页面展现的全部过程

第1章ECMAScript6历史文档内容全部复制于http://es6.ruanyifeng.com/。ES6中包含了许多新的语言特性,它们将使JS变得更加强大,更富表现力。在我们开始详细学习之前,我认为十分有必要花几分钟讲解一下ES6到底是什么,以及你可以从... 查看详情

一个页面从输入url到页面加载显示完成,这个过程中发生了什么?

1.浏览器通过DNS查找域名对应的IP地址(DNS查询:浏览器缓存-->系统缓存-->路由器缓存-->ISPDNS缓存-->根域名服务器)2.浏览器向Web服务器发送一个HTTP请求(TCP三次握手)3.服务器301重定向(从http://example.com重定向到http://ww... 查看详情

从输入url到页面展示到底发生了什么(代码片段)

...器发送HTTP请求|--服务器处理请求|--服务器返回HTTP响应|--浏览器显示页面信息输入地址当输入url地址后,浏览器已经在智能匹配地址了,会从历史记录、书签或缓存中查找,如果找到了,会从缓存中调出页面显示出来,在你还没... 查看详情