首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

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

:https://github.com/hzfe/awesome-interview 完整高频题库阅读地址:https://febook.hzfe.org/ 回答关键点 URL DNS TCP 渲染 浏览器从输入网址渲染页面主要分为以下几个过程...我们在地址栏输入 HZFE 官方网址 hzfe.org 后敲下回车,浏览器会对输入的信息进行以下判断: 检查输入的内容是否是一个合法的 URL 链接。 是,则判断输入的 URL 是否完整。...大部分浏览器会从历史记录、书签等地方开始查找我们输入的网址,并给出智能提示。 2....DNS 解析流程如下: 1.png DNS 解析 在浏览器中输入 hzfe.org 域名,操作系统检查浏览器缓存和本地的 hosts 文件中,是否有这个网址记录,有则从记录里面找到对应的 IP 地址...服务器响应 当浏览器 web 服务器的连接建立后,浏览器会发送一个初始的 HTTP GET 请求,请求目标通常是一个 HTML 文件。

18.9K64

浏览器从输入网址看到网页的流程

如果没有问题,浏览器会检查 URL 中是否出现了⾮法字符,如果存在⾮法字符,则对⾮法字符进⾏转义后再进⾏下⼀过程。...二、缓存判断 浏览器会判断所请求的资源是否在缓存⾥,如果请求的资源在缓存⾥并且没有失效,那么就直接使⽤,否则向服务器发起新的请求。...八、页面渲染 浏览器⾸先会根据 html ⽂件构建 DOM 树,根据解析的 css ⽂件构建 CSSOM 树,如果遇到 script 标签,则判断是否含有 defer 或者 async 属性,要不然...布局完成后,最后使⽤浏览器的 UI 接⼝对⻚⾯进⾏绘制。这个时候整个⻚⾯就显示出来了。 九、TCP四次挥手 最后⼀步是 TCP 断开连接的四次挥⼿过程。...然后会发送ACK 包,并进⼊ CLOSE_WAIT 状态,此时表明客户端服务端的连接已经释放,不再接收客户端发的数据了。但是因为 TCP 连接是双向的,所以服务端仍旧可以发送数据给客户端。

1K30
您找到你想要的搜索结果了吗?
是的
没有找到

浏览器输入网址,完成请求的整个过程

浏览器输入网址 http://www.baidu.com/ 查询本地计算机有没有存储域名baidu.com 对应的服务器IP, 如果存储了,浏览器直接向目标服务器发起三次握手的连接请求;如果没有存储...MAC地址, 如果不存在, 则转发给浏览器C, 通过不断地修改请求MAC地址完成了浏览器请求在互联网内的层层接力,最终到达目标IP主机 ?...(浏览器: 我们明天早上8点见面, 收到请回复) 服务器接收到请求后, 返回响应(服务端: 确认收到, 我们明天早上八点见面) 浏览器发出接收到服务器响应的确认信息(浏览器: 我收到了你的确认信息!)...四次挥手: 浏览器发出断开连接的请求(浏览器: 我该问的都问完了, 没有其它的问题了) 服务端返回响应(服务端确认了浏览器不会再发送请求的信息)(服务器: 我收到了你问完了的信息了,待我把你前面的问题回答完...浏览器返回响应(浏览器确认了服务端已经将资源发送完毕的信息)(浏览器: 我没有其它要问的, 断开连接吧!) ?

1.1K70

浏览器输入网址回车看到页面过程到底经历了什么?

#前言:从浏览器输入网址回车看到页面的过程,面试逃不掉的一个问题,我们知道从浏览器输入网址看到页面主要是涉及DNS解析,TCP三次握手,请求报文,响应报文,TCP4次挥手。...#然后我们来将过程分解一下 #dns解析流程 在浏览器中输入网址回车后,首先系统会去找这个域名对应的ip,然后再根据这个ip地址查找web服务器, 这里面有个DNS解析流程 1、系统首先查找本地的...,然后也记录到缓存中 #浏览器通过解析后得到的ip地址和端口号与web服务器建立一条TCP连接通道 #tcp3次握手过程 ?...三次握手指一个TCP连接时,需要客户端和服务器总共发送3个包 第一次握手:建立连接时,客户端A发送syn包(syn=j)服务器B,并进入Syn_send状态,等待服务器B确认 第二次握手...第一次挥手 客户端A发送一个FIN,用来关闭客户端A服务器B的数据传送 第二次挥手 服务器B收到这个FIN,会回一个ACK,确认序号为收到的序号加1 第三次挥手 服务器

46240

Chrome浏览器准备改变你的网址

谷歌Chrome浏览器已经10周岁了,在这十年Chrome确实改变了人们很多浏览网页的方式,而最近Chrome团队想要从根本上改变互联网URL(网址)的显示方式。...简而言之:Chrome改变URL的想法最终目的是网络安全,Chrome 团队目前准备取消 URL(地址栏)在自家浏览器上面的显示。...URL 是用户进入网站、输入网址的最重要的窗口,但对于目前的大多数网友来看,更多人选择了从收藏夹或者导航页来进入一个网站。URL 栏还有一个意义就是实时显示当前网页的地址,以防止进入假冒网站乱入。...在10年前,我们做SEO还是其他也好,URL是用户获取信息最重要的一个方式,你必须输入网址才能看到信息,但从移动互联网开始,URL显得不是那么重要了,很多信息的呈现都是在APP中,虽然APP里也有网址

56910

浏览器输入域名网址访问后的过程详解

1.png 我们从系统网络的角度分析在浏览器输入域名网址访问后的过程: 1、客户端浏览器通过DNS解析https://www.fgba.net/,IP地址是202.108.22.5,通过这个IP地址找到客户端服务器的路径...客户端浏览器发起一个HTTP会话202.108.22.5,然后通过TCP进行封装数据包,输入网络层。...(4) 浏览器与该服务器建立TCP连接(默认端口号80) (5) 浏览器发出HTTP请求,请求百度首页 (6) 服务器通过HTTP响应把首页文件发送给浏览器 (7) TCP连接释放 (8) 浏览器将首页文件进行解析...涉及的协议: (1) 应用层:HTTP(WWW访问协议),DNS(域名解析服务) DNS解析域名为目的IP,通过IP找到服务器路径,客户端向服务器发起HTTP会话,然后通过运输层TCP协议封装数据包,...(如js、css、图片等) --> 浏览器对页面进行渲染呈现给用户。

3.4K00

【前端芝士树】从浏览器搜索框输入网址网页呈现发生了什么?

【前端芝士树】从浏览器搜索框输入网址网页呈现发生了什么?...IP地址通常指的是网络中的主机,而域名则通常表示一个网站,一个域名可以绑定多个ip上,多个域名也可以绑定一个ip上。...为了让域名和地址能够相互转换,就需要对其进行映射,有两种方式: 静态映射 在浏览器端存储一份域名ip地址的映射表,只供本设备使用。...动态映射 利用DNS来进行域名解析,在专门的DNS服务器上配置主机IP地址的映射。...浏览器渲染呈现 浏览器拿到响应的页面代码,将其解析呈现在用户面前。 中间会涉及浏览器的渲染步骤、JS引擎、渲染引擎、事件响应等知识点。 后续会继续补充,欢迎收藏和点赞。

53720

MongoDB从事务复制

至于具体采用哪种方案,还是可以期待一下;目前所了解的是,它们的方案会区别于现有的分布式数据库。 复 制 复制是分布式系统逃不开的话题,MongoDB也不例外。 RSM ?...如图所示,和很多数据库一样,它选择在事务的基础上,再写一个oplog用于复制;当oplog复制Majority节点之后,方可认为Commit: - oplog写在一个数据表local.oplog.rs...如图,在Primary节点上会维护oplog的可见性,只有小于某个点的事务全都提交了,这里的oplog才可见,才可以复制secondary节点。 ?...LastApplied,这是最新提交的事务,这个点的数据是可读的 并发应用 上面提到了在primary节点是并发apply的,而节点之间是顺序复制,那么,复制secondary节点之后,如何apply...Primary catchup 这里复制协议就讲的差不多了,剩下的一个是锦上添花的功能。在Raft里面类似的场景是Leadership Transfer,即手动的主从切换。

99930

MongoDB从事务复制

至于具体采用哪种方案,还是可以期待一下;目前所了解的是,它们的方案会区别于现有的分布式数据库。 复 制 复制是分布式系统逃不开的话题,MongoDB也不例外。 RSM ?...如图所示,和很多数据库一样,它选择在事务的基础上,再写一个oplog用于复制;当oplog复制Majority节点之后,方可认为Commit: - oplog写在一个数据表local.oplog.rs...如图,在Primary节点上会维护oplog的可见性,只有小于某个点的事务全都提交了,这里的oplog才可见,才可以复制secondary节点。 ?...LastApplied,这是最新提交的事务,这个点的数据是可读的 并发应用 上面提到了在primary节点是并发apply的,而节点之间是顺序复制,那么,复制secondary节点之后,如何apply...Primary catchup 这里复制协议就讲的差不多了,剩下的一个是锦上添花的功能。在Raft里面类似的场景是Leadership Transfer,即手动的主从切换。

71720

浏览器中输入网址页面显示出来,这中间到底发生了什么?

一、问题 在浏览器中输入网址页面显示出来,中间发生了什么? 二、解答 1、查询DNS,获取域名对应的IP。...(1)检查本地hosts文件是否有这个网址的映射,如果有,就调用这个IP地址映射,解析完成。 (2)如果没有,则查找本地DNS解析器缓存是否有这个网址的映射,如果有,返回映射,解析完成。...如果要查询的域名不由本地DNS服务器区域解析,但服务器缓存了此网址的映射关系,返回解析结果,查询结束,此解析不具有权威性。...服务器收到顶级域名服务器IP信息后,继续向该顶级域名服务器IP发送请求,该服务器如果无法解析,则会找到负责这个域名的下一级DNS服务器(如baidu.com)的IP给本地DNS服务器,循环往复直至查询映射...4、客户端解析HTTP响应报文 5、浏览器开始显示HTML 6、浏览器重新发送请求获取图片、CSS、JS的数据。 7、如果有AJAX,浏览器发送AJAX请求,及时更新页面。

1.1K30

MySQL 8 复制(八)——组复制安装部署

目录 一、部署单主模式组复制 1. 安装MGR插件 2. 准备配置文件 3. 重启主库实例 4. 启动组复制 5. 向组中添加实例 二、组复制监控 三、容错示例 1....本文说明配置具有三个服务器的组复制的详细步骤,三个独立的MySQL实例已经安装好。拓扑结构如图1所示。 ? 图1 MySQL版本为8.0.16,各服务器对应的IP地址和主机名如下。...安装MGR插件 在hdp2的MySQL实例中安装MGR插件。...组复制将此地址用于涉及组通信引擎(XCom,Paxos变体)的远程实例的内部成员成员连接。此端口必须与用于客户端连接的端口不同,并且不得用于客户端应用程序。...因此需要设置具有正确权限的复制用户,以便组复制可以建立直接的成员成员恢复复制通道。

1.6K21

WordPress根据浏览器语言自动跳转网址的方法

同时有些外贸站站长不希望自己的网站被国内用户访问,想要国内用户跳转到不同的网址,我们可以利用浏览器语言来判断用户环境,然后自动跳转到不同的网址上面,具体方法如下: 在你的网站主题头部文件(header.php...> 考虑很多是新手朋友,不会修改代码,所以建议安装一个Code Snippets插件,安装后启用插件,编辑Example JavaScript snippet这个片段,把上面的代码插入/* write...上面的代码中,你可以添加更多的语言,例如巴西、法语、葡萄牙语,然后对应跳转到不同的网址,多种语言跳转代码如下: 以上方法参考料神文章,下面是常见的浏览器语言代码。

86700
领券