详细分析:当我们用浏览器访问一个网站到页面展示,背后经历了什么?

这是我参与11月更文挑战的第20天,活动详情查看: 2021最后一次更文挑战


当我们用浏览器访问一个网站到页面显示出来,身为用户我们只要用鼠标点点点就实现了页面展示,但是实际过程是有亿点点复杂。

大致过程为:

  1. 域名解析获取域名对应的IP地址
  2. 获得服务器的IP地址后与其建立TCP连接
  3. 客户机发送请求和接收资源

那么具体是怎样的过程的呢?


一、前提概要


1、网络分层模型


2、什么是IP地址?

  • IP地址是IP协议提供的一种统一的地址格式,它为互联网上的每一个网络和每一台主机分配一个逻辑地址,以此来屏蔽物理地址的差异。
  • IP地址是32比特的全球唯一标识符
  • IP地址在整个因特网范围内是唯一的。

3、什么是域名?

  • 因特网采用层次树状结构的命名方法,任何一个连接到因特网的主机或路由器,都有一个唯一的层次结构名称, 即域名 D o m a i n Domain N a m e Name )。
  • 域( D o m a i n Domain ) 是名字空间中一个可被管理的划分。域还可以划分为子域,而子域还可以继续划分为子域的子域,这样就形成了顶级域、二 级域、三级域等。
  • 每个域名都由标号序列组成,而各标号之间用点(“.") 隔开。

4、什么是DNS


二、漫漫取经之路就在脚下


1、域名解析

访问www.baidu.com时,需要将域名映射为对应的 I P IP 地址。即域名解析的过程。

  1. 首先由客户机向其本地域名服务器发出一个 D N S DNS 请求报文
  2. 本地域名服务器在收到请求后,先查询本地缓存中是否存在该记录,若没有,则以 D N S DNS 客户的身份向根域名服务器发出解析请求报文
  3. 根域名服务器根据收到的请求,判断该域名( w w w . b a i d u . c o m www.baidu.com )属于 . c o m .com 域,将对应的顶级域名服务器 d n s . c o m dns.com I P IP 地址返回到本地域名服务器
  4. 本地域名服务器在向顶级域名服务器 d n s . c o m dns.com 发送解析请求报文
  5. 顶级域名服务器 d n s . c o m dns.com 根据请求,判断该域名属于( b a i d u . c o m baidu.com )域,将授权域名服务器 d n s . b a i d u . c o m dns.baidu.com 的IP地址返回给本地域名服务器
  6. 本地域名服务器在向授权域名服务器 d n s . b a i d u . c o m dns.baidu.com 发送解析请求报文
  7. 授权域名服务器 d n s . b a i d u . c o m dns.baidu.com 根据请求,判断域名属于( w w w . b a i d u . c o m www.baidu.com )域,将查询结果(即域名 w w w . b a i d u . c o m www.baidu.com 对应的IP地址)返回给本地域名服务器
  8. 本地域名服务器将域名 w w w . b a i d u . c o m www.baidu.com 对应 I P IP 地址保存到本地缓存,并返回给客户机,至此域名解析完成

那么是怎么通过 T C P / I P TCP/IP 网络结构发送到域名服务器?

  1. 应用层发送一个 D N S DNS 请求报文,传送给传输层

  2. 传输层为 U D P UDP 请求报文加上 U D P UDP 请求头,形成 U D P UDP 数据报,传送给网络层

  3. 网络层在 U D P UDP 数据报的基础上添加 I P IP 请求头形成 I P IP 数据报,用 A R P ARP 地址解析协议解析出下一跳的 M A C MAC 地址

  4. 数据链路层为 I P IP 数据报加上帧头和帧尾,封装成帧

  5. 物理层将报文传输给下一跳,(这里下一跳即域名服务器,事实上应该会跳转多个路由器)传输到域名服务器,域名服务器的每层再对数据进行一个拆封的过程。

  6. 域名服务器查询到 I P IP 地址之后原路返回


2、建立TCP连接(三次握手)

  1. 服务器上会有一个进程一直在不断地监听 T C P TCP 80端口
  2. 客户机在获取到对应的 I P IP 地址之后,客户机向服务器发送一个连接请求报文
  3. 服务器监听到连接请求报文之后,向客户机返回一个确认报文,并为此次 T C P TCP 连接分配缓存和变量
  4. 当客户机收到确认报文段后,再向服务器发出一个确认报文,并为此次连接分配缓存和变量
  5. 服务器再收到确认报文之后, T C P TCP 连接就建立成功了

3、获取资源

设HTTP协议使用持久连接2:

  1. TCP连接建立成功之后,客户机向服务器通过TCP连接发送携带请求资源信息的HTTP请求报文
  2. 服务器收到HTTP请求报文之后,通过HTTP响应报文将客户机请求的资源发送给客户机
  3. 如需多个资源,重复以上操作即可

注:

实际上,客户机向服务器在建立TCP的第三次握手时发送的确认报文可以携带上HTTP请求报文


4、浏览器解释

  • 客户机在接收到服务器返回的资源后,对其进行解释,用超文本标记语言( H T M L HTML )将其显示在屏幕上

把握住今天,胜过两个明天。

추천

출처juejin.im/post/7035455917264994317
详细分析:当我们用浏览器访问一个网站到页面展示,背后经历了什么?
详细分析:当我们用浏览器访问一个网站到页面展示,背后经历了什么?
详细分析:当我们用浏览器访问一个网站到页面展示,背后经历了什么?
详细分析:当我们用浏览器访问一个网站到页面展示,背后经历了什么?
详细分析:当我们用浏览器访问一个网站到页面展示,背后经历了什么?
详细分析:当我们用浏览器访问一个网站到页面展示,背后经历了什么?
详细分析:当我们用浏览器访问一个网站到页面展示,背后经历了什么?
基于webview2定制一个没什么卵用的浏览器
有没有好奇过,用浏览器访问某个网站时,中间经历了什么,如何到达对方的?(初学版)
浏览器发出一个请求到收到响应经历了哪些步骤?
瞰源 | 当我们谈论开源时,我们在谈论什么?
手写网站服务器~用Python手动实现一个简单的服务器,不借助任何框架在浏览器中输出任意内容
@lombok注解背后的原理是什么,让我们走近自定义Java注解处理器
RAIDS详细分析整理
用浏览器访问网址时,请求头(request header)是根据什么生成的?
让我们实现一个简单的Vuex吧!- 起步
【vue解析】当我们使用computed的时候,vue内部发生了什么
同一个浏览器登录两个用户的处理方式
安卓从零开始写一个轻量级浏览器(一)
浏览器为什么能唤起App的页面
安卓从零开始写一个轻量级浏览器(二)
一个可以扩展你思路的浏览器API
详细分析iOS启动页广告
浏览器页面刷新
从浏览器输入URL到最终看到页面, 这其中经历了哪些过程 ?
Python爬虫+数据分析:爬一爬那个很懂车的网站,分析一下现阶段哪款车值得我们去冲
为什么我们用PL/SQL Developer不需要指定主机或IP就能连接到Oracle服务器
记一次 selenium 处理浏览器证书弹窗的经历
万万没想到一个普通的地区问题,竟然让我们大战了300回合
各大浏览器详细介绍
추천
Windows 1.0용 Arc Browser가 공식적으로 GA되었습니다.
1990년대에 태어난 프로그래머가 비디오 포팅 소프트웨어를 개발하여 1년도 안 되어 700만 개 이상의 수익을 올렸습니다. 결말은 매우 처참했습니다!
하루에 하나의 자바 필기 시험 2020-9-23
[HUAWEI OD 기계 테스트 실제 문제 2023B 볼륨 JAVA&JS] 최장 연속 서브 시퀀스
파이썬 객체가 NumPy와 ndarray인지 확인하는 방법
使用Idea进行代码分析、追踪
Baidu API 호출 (6)-호출 Baidu UNIT 대화 로봇
학습 : 뉴스 휴식
OPRO: LLM을 최적화 도구로 사용하여 자연어로 설명된 일련의 작업 해결
C # conversion hexadécimale à quatre octets et à virgule flottante simple précision
봄 부팅 + JPA + Mysql-- 사용자 정의 업데이트
Spring은 업데이트 작업에 jpa를 사용합니다.
아카이브
기타
2020-04-08(1460)
2020-04-07(1517)
2020-04-06(1499)
2020-04-05(1440)
2020-04-04(1629)
2020-04-03(1644)
2020-04-02(1572)
2020-04-01(1665)
2020-03-31(1639)
2020-03-30(1334)

装修网装潢装饰装修装修公装6层楼家装电梯多少钱装饰的灯大学的装修专业成都公装施工厕所装修用什么回填成都装修公司泰宇公装天津装修全包清远哪家装修公司好绵阳装饰装潢办公室装修设计 成都集成装饰多少钱一平家装水电开槽家里装修的排插用那种一百平房子简装多少钱120简装房子多少钱公装 报价毛坯房简装一下多少钱长沙哪个装修公司口碑好饭庄装修室内家居设计软件工程项目装修装修怎么算电线用多少精装房再装修多少钱全新精装西宁业之峰装饰公司怎么样世合理想大地是简装还是精装湖南公装企业装修公装预算香港通过《维护国家安全条例》两大学生合买彩票中奖一人不认账让美丽中国“从细节出发”19岁小伙救下5人后溺亡 多方发声汪小菲曝离婚始末卫健委通报少年有偿捐血浆16次猝死单亲妈妈陷入热恋 14岁儿子报警雅江山火三名扑火人员牺牲系谣言手机成瘾是影响睡眠质量重要因素男子被猫抓伤后确诊“猫抓病”中国拥有亿元资产的家庭达13.3万户高校汽车撞人致3死16伤 司机系学生315晚会后胖东来又人满为患了男孩8年未见母亲被告知被遗忘张家界的山上“长”满了韩国人?倪萍分享减重40斤方法许家印被限制高消费网友洛杉矶偶遇贾玲何赛飞追着代拍打小米汽车超级工厂正式揭幕男子被流浪猫绊倒 投喂者赔24万沉迷短剧的人就像掉进了杀猪盘特朗普无法缴纳4.54亿美元罚金周杰伦一审败诉网易杨倩无缘巴黎奥运专访95后高颜值猪保姆德国打算提及普京时仅用姓名西双版纳热带植物园回应蜉蝣大爆发七年后宇文玥被薅头发捞上岸房客欠租失踪 房东直发愁“重生之我在北大当嫡校长”校方回应护栏损坏小学生课间坠楼当地回应沈阳致3死车祸车主疑毒驾事业单位女子向同事水杯投不明物质路边卖淀粉肠阿姨主动出示声明书黑马情侣提车了奥巴马现身唐宁街 黑色着装引猜测老人退休金被冒领16年 金额超20万张立群任西安交通大学校长王树国卸任西安交大校长 师生送别西藏招商引资投资者子女可当地高考胖东来员工每周单休无小长假兔狲“狲大娘”因病死亡外国人感慨凌晨的中国很安全恒大被罚41.75亿到底怎么缴考生莫言也上北大硕士复试名单了专家建议不必谈骨泥色变“开封王婆”爆火:促成四五十对测试车高速逃费 小米:已补缴天水麻辣烫把捣辣椒大爷累坏了

装修网 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化