嗨玩手游网

微软Edge浏览器新特性:地址栏推荐列表新增侧栏打开按钮

IT之家 3 月 30 日消息,微软正持续为 Edge 浏览器开发各种功能,在 Canary 最新版本中测试了两项新的功能:地址栏推荐列表中新增在侧栏打开按钮;切换视频网站自动开启画中画功能。

地址栏推荐列表中新增在侧栏打开按钮

微软在 Edge 浏览器地址栏中新增了“Open suggestion in sidebar”按钮,用户在访问某个页面的情况下,如果想要再打开近期访问过的某个页面,在地址栏输入关键词,点击“X”右侧的按钮,就可以直接在侧栏中打开该页面。

切换视频网站自动开启画中画功能

Edge Canary 新版本另一项功能就是自动启用画中画模式。IT之家注:当你从某个视频页面标签切换到其它标签页之后,自动启动画中画模式。

跟随 Safari,三星默认浏览器 App 也支持将地址栏移至底部

IT之家 11 月 28 日消息,据外媒 mspoweruser 消息,目前三星手机的默认浏览器 App 更新了 v16.0.2.19 版本,支持将地址栏移至窗口底部。这种方式更加方便用户们用手指点击进行输入,提高了便利性。

此前 Windows Phone 率先开启了这种尝试,苹果也在今年为 Safari 浏览器移动端推出了这项功能。

▲ 图片来自 androidpolice

▲ 图片来自 mspoweruser

IT之家了解到,三星默认浏览器本次更新,还添加了 HTTPS 优先连接功能、智能反跟踪功能。此外,还增强了 URL 地址栏进行搜索的体验,浏览器可以为用户提供更好的建议结果。

新版浏览器还针对 Galaxy Z Fold3 等折叠屏手机进行了更好的适配,引入了 Device Posture API。

从浏览器地址栏输入 url 到显示主页的过程?

题目所见即所得,充分发挥了一个好的题目的重要性,废话不多说,进入今天的正题。先看一下图,⼤概的就能理解整个过程了,但是有很多点可以细挖:DNS 解析、TCP 三次握⼿、HTTP 报⽂格式、TCP 四次挥⼿等等。

浏览器地址栏是Web浏览器中用于输入网址的区域。当用户在地址栏中输入网址URL(Uniform Resource Locator的缩写)并按下回车键时,浏览器会解析该网址并加载相应的网页内容。这个过程涉及到以下几个关键步骤:

第一步、DNS解析:

A) 浏览器内核首先搜索自身的DNS缓存,如果命中,则返回域名的IP地址。如果未命中尝试访问操作系统的DNS缓存,我们可以打开chrome流啊兰奇,,在chrome地址栏输入:chrome://net-internals/#dns 查看浏览器内的dns缓存,如果是edge浏览器输入:edge://net-internals/?#dns 点击lookup查询结果,可以点击“Clear host cache”清理浏览器DNS记录。

在windows命令行输入以下命令:nslookup -d www.baidu 查询DNS记录信息吗,查询结果如下,截图只是一部分值,可以下去自己了解

A) 操作系统的DNS缓存,以windows系统为例,查找ipconfig/displaydns 里面的内容,如果命中,返回域名的IP地址,如果未命中,尝试读取hosts文件(C:\Windows\System32\drivers\etc)

C、读取hosts文件,如果命中,返回域名的IP地址,如果未命中,尝试调用DNS系统调用发送DNS请求(端口53)到首选的ISP DNS服务器(一般是电信运营商提供)

D、 ISP 的 DNS 服务器:ISP 是互联网服务提供商(Internet Service Provider)的简称,ISP 有专门的 DNS 服务器应对 DNS 查询请求如果在hosts文件中也没有找到对应的条目,浏览器就会发起一个DNS的系统调用,就会向 本地配置的首选DNS服务器(一般是电信运营商提供的)发起域名解析请求(通过的是UDP协议向DNS的53端口发起请求,这个请求是递归的请求,也就是运营商的DNS服务器必须得提供给我们该域名的IP地址)如果命中,返回域名的IP地址,如果未命中尝试根域名服务器(全球13个),进行递归查询。 查询顺序:根服务器--->顶级域名服务器(;等)--->然后域名服务器。

总结这样就完成了域名映射的成IP地址

第二步、TCP建立链接:

一旦解析出URL对应的IP地址,浏览器会尝试与服务器建立TCP连接。这个过程涉及三次握手(客户端向服务器发送SYN数据包,服务器发送SYN+ACK数据包,客户端发送ACK数据包)以建立可靠的传输通道。

三次握手的过程:

1、客户端发送建立TCP连接的请求报文,其中报文中包含seq序列号,是由发送端随机生成的,并且将报文中的SYN字段置为1,表示需要建立TCP连接。(SYN=1,seq=x,x为随机生成数值);

2、服务端回复客户端发送的TCP连接请求报文,其中包含seq序列号,是由回复端随机生成的,并且将SYN置为1,而且会产生ACK字段,ACK字段数值是在客户端发送过来的序列号seq的基础上加1进行回复,以便客户端收到信息时,知晓自己的TCP建立请求已得到验证。(SYN=1,ACK=x+1,seq=y,y为随机生成数值)这里的ack加1可以理解为是确认和谁建立连接;

3、客户端收到服务端发送的TCP建立验证请求后,会使自己的序列号加1表示,并且再次回复ACK验证请求,在服务端发过来的seq上加1进行回复。(SYN=1,ACK=y+1,seq=x+1)。

为啥要三次握手呢?“为了防止已失效的连接请求报文段突然又传送到了服务端,因而产生错误”。

第三步、向服务发送 HTTP 请求:

一旦TCP连接建立成功,浏览器会向服务器发送一个HTTP请求。这个请求通常包含请求行、请求头和请求体。请求行描述了请求的类型(如GET、POST等)和资源路径。请求头提供了有关请求的详细信息,如请求的HTTP版本、用户代理的信息等,以chrom为例,按下F12即可进入开发模式,NEtwork一栏查看Http请求具体报文

第四步、服务器处理请求,返回 HTTP 响应数据:

服务器接收到请求后,会根据请求的内容和权限来处理该请求。处理完成后,服务器会向浏览器发送一个HTTP响应。这个响应通常包含一个状态行、响应头和响应体。状态行描述了响应的状态(如200 OK)和消息(如“OK”)。响应头提供了有关响应的详细信息,如响应类型、缓存控制等。响应体包含了服务器返回给浏览器的原始数据。

第五步、浏览器解析 HTTP 响应数据,并渲染页面:

一旦收到HTTP响应数据,浏览器会解析该数据以构建页面。解析过程中,浏览器会提取响应头中的信息,并根据这些信息来处理页面内容。然后,浏览器会将解析后的页面内容呈现给用户,通常会使用HTML、CSS和JavaScript等技术来实现页面的样式和交互效果。

第六步、断开链接:

当浏览器完成对页面的渲染后,它会自动发送一个TCP断开链接的命令(TCP四次挥手),以终止与服务器的连接。这个过程涉及四次挥手(客户端向服务器发送FIN数据包,服务器发送ACK数据包,客户端发送FIN+ACK数据包,服务器发送FIN数据包)以释放资源并断开连接。

四次挥手的详细过程:

1、客户端发送断开TCP连接请求的报文,其中报文中包含seq序列号,是由发送端随机生成的,并且还将报文中的FIN字段置为1,表示需要断开TCP连接。(FIN=1,seq=x,x由客户端随机生成);

2、服务端会回复客户端发送的TCP断开请求报文,其包含seq序列号,是由回复端随机生成的,而且会产生ACK字段,ACK字段数值是在客户端发过来的seq序列号基础上加1进行回复,以便客户端收到信息时,知晓自己的TCP断开请求已经得到验证。(FIN=1,ACK=x+1,seq=y,y由服务端随机生成);

3、服务端在回复完客户端的TCP断开请求后,不会马上进行TCP连接的断开,服务端会先确保断开前,所有传输到A的数据是否已经传输完毕,一旦确认传输数据完毕,就会将回复报文的FIN字段置1,并且产生随机seq序列号。(FIN=1,ACK=x+1,seq=z,z由服务端随机生成);

4、客户端收到服务端的TCP断开请求后,会回复服务端的断开请求,包含随机生成的seq字段和ACK字段,ACK字段会在服务端的TCP断开请求的seq基础上加1,从而完成服务端请求的验证回复。(FIN=1,ACK=z+1,seq=h,h为客户端随机生成)

至此TCP断开的4次挥手过程完毕。

总结从浏览器地址栏输⼊url到显示主⻚的过程涉及多个关键步骤,包括URL解析、建立连接、获取网页内容以及渲染页面等。这些步骤通过复杂的计算机网络和计算机系统实现,使得用户可以轻松地访问Web资源并获得丰富的互联网体验。

参考:https://zhuanlan.zhihu/p/609043689

https://zhuanlan.zhihu/p/629094462?utm_id=0

https://code84/664373.html#

更多资讯
游戏推荐
更多+