惊了,浏览器竟偷偷干了这些事....

前言

之前我就一直好奇,为什么我在浏览器输入一个地址之后,就可以返回数据,这中间到底发生什么了呢?
于是我苦研技术二十年(bus),终于把这中间发生了啥大概给理清楚了。接下来就一起来看看到底发生了啥子吧!
在这里插入图片描述

从大的方向来说,它做了这么几件事:

  1. URL 解析
  2. CDN查询
  3. TCP连接(三次握手)
  4. HTTP 请求
  5. 响应请求(四次握手)
  6. 渲染页面

那么我们来详细的说一下具体的实现步骤吧。

1、URL 解析:

一个 URL 包括 协议,网络地址,资源路径

它会先检查你输入的地址是不是合法的。如果是不合法的地址,会转给默认的搜索引擎,例如如果你正在使用chrome,可以在URL输入框输入你想要搜索的内容,然后搜索引擎会根据关键字进行搜索。

2、CDN查询

1、先在各种缓存信息中查找

例如:baidu.com 就是域名
首先,他会先去浏览器缓存记录中查找------浏览器会缓存DNS一段时间

系统缓存-----如果浏览器中没有找到,浏览器会有一个系统调用,获得系统缓存中的记录

路由器缓存-----接着将请求发给路由器,路由器一般也有自己的DNS缓存

2.DNS服务器查找

如果没有,则发送请求到本地域名服务器。每一个本地域名服务器都维护一个高速缓存,存放最近用过的域名及其IP地址。如果还没有则发出递归查询(本地服务器请求比他高一级的服务器,如此递归直到根域名服务器,肯定能找到这个服务器的IP地址)通过这个IP可以找到客户端到服务器端的唯一路径

3、 TCP连接(三次握手)

确定好目标服务器的ip地址端口号后,就开始和远程服务器建立 TCP 链接。

TCP 是一种面向有连接的传输层协议。 它可以保证两端(发送端和接收端)通信主机之间的通信可达。 它能够处理在传输过程中丢包、传输顺序乱掉等异常情况;此外它还能有效利用宽带,缓解网络拥堵。
在确定目标服务器服务器的IP地址后,则经历三次握手建立TCP连接,流程如下:
在这里插入图片描述

4、 HTTP 请求

与服务器建立了连接后,就可以向服务器发起请求了。

在应用层,浏览器会分析这个URL,并设置好请求报文发出。请求报文中包括请求行、请求头、空行、请求主体。HTTPS默认请求端口443, HTTP默认80

5、 响应请求(四次握手)

当服务器接收到浏览器的请求之后,就会进行逻辑操作,处理完成之后返回一个HTTP响应消息,包括:

  • 状态行
  • 响应头
  • 响应正文

在服务器响应之后,由于现在HTTP默认开始长连接keep-alive, 当页面关闭之后,TCP链接则会经过四次挥手完成断开。
四次挥手的流程大概如下:
在这里插入图片描述

6、渲染页面

浏览器收到响应资源后对响应资源做分析,根据响应头状态码做相应操作,如果资源压缩,需要进行解压,之后将资源缓存,之后根据资源MIME类型去解析响应内容。
解析之后将内容渲染到页面上,渲染会分为HTMLStyleScript三部分,各个浏览器内核渲染过程大同小异。
渲染的流程大概如下:
在这里插入图片描述
这就是一个完整版的流程啦!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/72463.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

今天被公司约谈,说工作时长不够,要求每天至少11小时,不然就是态度不认真!...

一天的工作时长多久合适? 一位同花顺公司员工吐槽:今天被公司约谈,说工作时长不够,要求每天至少11小时,不然就是工作态度不认真! 楼主问:这种情况怎么办?大无语了! 网友惊…

偷偷自动化,每周才工作几小时却拿全薪,这样道德么?

(点击上方公众号,可快速关注) 编译:伯乐在线/刘唱 程序员们在 StackExchange 上有激烈的讨论,如果偷偷把自己的工作自动化,是不是不道德? 这次讨论的源于 Etherable 于 6 月 27 日在 StackExcha…

【创作赢红包】喂,鬼仔,你还在瞒着我偷偷使用强制相等

我们都知道JavaScript有 (强制相等)和(严格相等)运算符进行比较。但你可能不知道它们两个究竟有什么不同,并且更重要的是,在 js 引擎中使用它们的时候发生了什么? 前面我们提到 是强制比较。强制意味着 VM 试图将进行比较的双方强制为相同的类型&…

程序员在晚上才敢偷偷看的10个网站,建议私藏!

这10个网站,大家自己看看就好,千万不要到处传播,因为访问的人太多了,网站可能会挂,这样我就不能拥有快乐了,salute! 搜索工具类:Goobe 别再傻傻用Google和百度了,goobe…

【紧急情况】:回宿舍放下书包的我,花了20分钟敲了一个抢购脚本

文章目录 情况紧急 ⁉️抢❗️抢❗️抢❗️开抢时间说明💨开抢过程💥Get_cookie.py开抢 结束语😱 情况紧急 ⁉️ 不管你信不信,这就是俺刚瞧出的代码!!! 现在离20:00还有38分钟&…

中国科学院大学计算机在职博士招生,中国科学院在职博士研究生如何报考?

中国科学院大学博士研究生招收的学术型博士学位研究生,旨在培养德智体全面发展,在本学科领域掌握坚实宽广的基础理论和系统深入的专门知识,具有独立从事科学研究及相关工作的能力,能在科学研究和专门技术等方面做出创造性成果的高…

大学论文的研究框架是什么?

第一次写论文,难免连论文的基本固定结构都不得而知,更别提论文内容的研究框架啦!这一篇是论文基础知识的扫盲!告诉你一个论文的基本框架与如何树立起自己选题的内容研究框架~本篇干货满满,如果你还不会写论文&#xff…

巴比特 | 元宇宙每日必读:Meta开源AI模型ImageBind,可横跨6种模态,同时处理6种感官数据,元宇宙建设将更进一步...

摘要:据《科创板日报》报道,当地时间5月9日,Meta宣布开源了一种可以横跨6种不同模态的全新AI模型ImageBind,包括视觉(图像和视频形式)、温度(红外图像)、文本、音频、深度信息、运动…

Meta提出全新参数高效微调方案,仅需一个RNN,Transformer模型GPU使用量减少84%!

近来,随着ChatGPT和GPT-4模型的不断发展,国内外互联网大厂纷纷推出了自家的大语言模型,例如谷歌的PaLM系列,MetaAI的LLaMA系列,还有国内公司和高校推出的一些大模型,例如百度的文心一言,清华的C…

计算机社团活动展望未来,2018社团展望未来演讲稿范文

2018社团展望未来演讲稿范文 我们社团展望未来,就必须坚持社团活动的创新。以下是小编要与大家分享的社团展望未来演讲稿范文,供大家参考! 社团展望未来演讲稿范文(一) 不知不觉中,我加入到社团部这个大家庭中已有半年的时间。这半年&#xf…

我的专业我做主计算机演讲稿,我的未来我做主演讲稿

我的未来我做主演讲稿 演讲稿的写法比较灵活,可以根据会议的内容、一件事事后的感想、需要等情况而有所区别。在日常生活和工作中,演讲稿应用范围愈来愈广泛,在写之前,可以先参考范文,以下是小编精心整理的我的未来我做…

计算机社团竞选优势6,关于社团竞选演讲稿汇总六篇

关于社团竞选演讲稿汇总六篇 使用正确的写作思路书写演讲稿会更加事半功倍。在我们平凡的日常里,演讲稿应用范围愈来愈广泛,大家知道演讲稿的格式吗?下面是小编为大家整理的社团竞选演讲稿6篇,供大家参考借鉴,希望可以…

Meta「分割一切」超进化版来了!检测、分割、生成一切,狂揽2k星

编|桃子 好困源|新智元 Meta的SAM「分割一切」模型刚发布,国内团队就进行了二创,打造了一个最强的零样本视觉应用Grounded-SAM,不仅能分割一切,还能检测一切,生成一切。 Meta的「分割一切」模型…

粤港澳大湾区Microsoft Build 2023 After Party - 广州站

在经历过阳春三月一大波GPT带来的AI浪潮之后,今年的Build大会尤其令人期待。本次Build大会发布了超过50个新技术,尤其是在ChatGPT中支持Bing插件来提供联机搜索、Windows Copilot加入微软Copilot大家庭,提出Copilot Stack来便于搭建您自己的C…

学会这八个技术,你离BAT大厂不远了

红人榜第七期来咯~本期干货:HTTP、本周最受关注的技术关键词TOP8,往下看吧~ 在如今这个时间和知识都是碎片化的时代,C站根据C1-C4认证的成长路径,进行知识细化整理,形成系统化的知识图谱。 小编根据C1认证的成长路径…

互联网大佬谁编程排第一?周鸿祎:我应该可以排到前三名

10月24日是程序员节。在这一天,360集团创始人周鸿祎在社交平台发布动态为程序员点赞。 周鸿祎表示,未来,世界是架构在软件之上,是数字化的世界,每一个程序员都承担着重要的使命,用技术为国家解决一些“卡脖…

这个 GitHub Trending 让我在腾讯会议中“换脸成”任何人!来唠唠如何上手

前言: GitHub 上又火了个项目,蛮有趣的:可以让你在 ZOOM 、腾讯会议等等软件中“换脸”成别人。自己 fork 到本地,调了一调。作者封装的已经相当好了,当然了,像我这种 CRUD 程序员 AI 小白 肯定是要调一天…

周鸿祎评互联网大佬编程能力:我可以排前三

10月24日,也是一年一度的程序员节,360集团董事长兼CEO周鸿祎在B站发布了一段视频,讲述自己最早学习编程时的经历,以及关于程序员的故事。 在互联网程序圈出身的大佬们中,谁的编程能力最高?对此,…

分割一切还不够,还要视频跟踪一切,《清明上河图》也能轻松拿下

南方科技大学郑锋团队的这项研究:Track Anything ,很好的解决了 SAM 在视频领域的短板。 本月初,Meta 发布「分割一切」AI 模型(Segment Anything Model,简称 SAM),可以为任何图像或视频中的任何…

【深度学习】分割一切还不够,还要视频跟踪一切,《清明上河图》也能轻松拿下...

南方科技大学郑锋团队的这项研究:Track Anything ,很好的解决了 SAM 在视频领域的短板。 本月初,Meta 发布「分割一切」AI 模型(Segment Anything Model,简称 SAM),可以为任何图像或视频中的任何…