输入url后的加载过程
查找域名对应的IP地址
包括DNS(根据域名查找IP地址)的查找过程:浏览器缓存-》系统缓存-》本地DNS服务器缓存
浏览器搜索自己的DNS缓存(维护一张域名与IP地址对应表)
搜索操作系统中的DNS缓存(维护一张域名与IP地址对应表)
搜索操作系统的hosts文件(windows环境下,维护一张域名与IP地址对应表)
操作系统将域名发送到本地区域服务器(LNDS),进行查找,成功则返回结果(递归查询),失败则发起一个迭代DNS请求(迭代查询)
本地域名服务器LDNS将得到的IP地址返回给操作系统,同时也将IP地址缓存起来
操作系统将IP地址返回给浏览器,同时将IP地址缓存起来
所以,浏览器得到了域名对应的IP地址
DNS迭代查询和递归查询
递归查询
客户端与服务器之间属于递归查询,即当客户机想DNS服务器发出请求后,若DNS服务器本身不能解析,会向另一个DNS服务器发出查询请求,最后将结果转交给客户端的过程。
服务器必须回答目标IP与域名的映射关系。
迭代查询
DNS服务器之间属于迭代查询。
服务器接收到一次迭代查询回复一次结果,这个结果不一定死目标IP与域名的映射关系,也可以是其他DNS服务器的地址。
本地域名服务器LDNS向根域名服务器(保存com.net.org等顶级域名服务器的地址)发起请求,根域名服务器返回com域的顶级域名服务器地址
本地域名服务器LDNS向com域的顶级域名服务器发起请求,返回biadu.com域名服务器的地址(主域名服务器)
本地域名服务器LDNS向baidu.com域名服务器发起请求,得到。。。的IP地址
建立连接(TCP的三次握手)
三次握手采用TCP协议,保证了信息传输的可靠性,三次握手过程中,若一方收不到确认信息,协议就会要求重新发送信号
构建网页
当服务器和主机建立连接之后,主机便于服务器进行通信。
页请求是一个单向请求的过程,即是一个主机箱服务器请求数据,服务器返回响应数据的过程。
浏览器根据URL内容生成http请求,请求中包含请求文件的位置,请求文件的方式(get,post)
服务器接到请求后,会根据http请求中的内容决定如何获取相应的html文件
服务器将得到的html文件发送给给浏览器
在浏览器还没完全接受到html文件时候就开始下载,解析,执行以便显示页面
在执行html文件中,根据需要会向服务器继续请求图片,css,js等文件,此过程跟请求html文件类似
参考:浏览器工作原理
断开连接(TCP的四次挥手)
等待2个报文传送周期的原因:
如果第四次握手的确认信息丢失,服务器将会重新发送第三次握手的断开连接的信号,而服务器发觉丢包与重新发送的断开连接到达主机的时间正好为 2 个报文传输周期。
输入url后的加载过程相关推荐
- 从输入 URL 到页面加载完的过程中都发生了什么事情 —— 网络优化篇
转自从输入 URL 到页面加载完的过程中都发生了什么事情 -- 网络优化篇 想到这不就是我这两年来研究的东西么,于是就接受一下挑战.网上已经有很多版本的答案了.这道题可以从浏览器端,网络传输和服 ...
- 深入浅出经典面试题:从浏览器中输入URL到页面加载发生了什么 - Part 3
备注: 因为文章太长,所以将它分为三部分,本文是第三部分. 第一部分:深入浅出经典面试题:从浏览器中输入URL到页面加载发生了什么 - Part 1 第二部分:深入浅出经典面试题:从浏览器中输入URL ...
- 前端学习之浏览器从输入URL到页面加载的全过程
浏览器从输入URL到页面加载的全过程 从输入URL到页面加载的主干流程如下: 1.浏览器的地址栏输入URL并按下回车. 2.浏览器查找当前URL的DNS缓存记录. 3.DNS解析URL对应的IP. 4 ...
- 从输入url到页面加载完成中间都发生了什么?
从输入 URL 到页面加载完成的过程中都发生了什么事情? nwind | 24 May 2014 背景 本文来自于之前我发的一篇微博: 不过写这篇文章并不是为了帮大家准备面试,而是想借这道题来介绍计算 ...
- 从输入 URL 到页面加载完成中间都经历了什么
摘要 目录 1.chrome浏览器资源加载时序分析 2.w3c提供的接口performance.timing分析 3.一个完整的URL 解析过程细分介绍 3.1.缓存相关 3.1.1.URL解析 3. ...
- 前端面试总结(2)--从输入URL到页面加载完成,都发生了什么
目录 序言 从输入URL到页面加载完成,都发生了什么 1. 一个极其粗糙且简化的流程 2. 每个步骤都只是摘要 2.1 浏览器中输入URL 2.1.1 URL的概念 2.1.2 浏览器对URL的长度限 ...
- 从浏览器输入url到页面加载(六)前端必须了解的路由器和光纤小知识
前言 上一章我们说到了数据包在网线中的故事,说到了双绞线,还说到了麻花.这一章继续沿着这条线路往下走,说一些和cdn以及路由器相关,运营商以及光纤相关的小知识,前端同学应该了解一下的 目录 前言 1. ...
- 输入URL后浏览器的渲染过程
铅笔头课堂,有态度的前端培训 输入URL后浏览器的渲染过程 背景 作为前端开发,浏览器是与我们日常相伴的工具,以chrome为例,我们可以利用它调试页面的element节点.network网络.con ...
- 输入url到页面加载都发生了什么事情?(一道软件测试面试题)
文章首发于公众号:软件测试er 输入url到页面加载都发生了什么事情?这是一道软件测试面试题,且相关知识其实还有多种问法: Question 1请讲一下tcp三次握手 OK等你把这个记好了,下次面试: ...
- layui 如何动态加载局部页面_从输入URL到页面加载的过程?如何由一道题完善自己的前端知识体系!
前言 见解有限,如有描述不当之处,请帮忙指出,如有错误,会及时修正. 为什么要梳理这篇文章? 最近恰好被问到这方面的问题,尝试整理后发现,这道题的覆盖面可以非常广,很适合作为一道承载知识体系的题目. ...
最新文章
- POJ 1017 Packets 贪心 模拟
- mysql 连接 分组_详解MySQL中的分组查询与连接查询语句
- java优先队列PriorityQueue修改队列内元素排序问题
- sqlserver browser无法启动_SQL Server中非sysadmin权限用户在SQL Agent的权限
- python第三周测试_python第三周小测
- mysql打错了怎么办_数据库出错了怎么办?
- flutter中使用图标(含自制图标库方案)
- 判断上三角矩阵--C语言
- Verilog 任意分频器设计
- matlab命令行运行,命令行运行matlab
- 微信小程序vtabs
- 《tkinter实用教程二》tkinter的子模块ttk
- 生活家健康指南:创可贴使用四大误区
- VMware虚拟机nat模式详解
- (《机器学习》完整版系列)附录 ——7、有趣的距离与范数(距离是两点之间的,如果将一个点固定在原点,则为向量的范数)
- 计算机键盘重复,win7系统电脑键盘打字时总是出现重复字符的解决方法
- pyqt win32发送QQ消息
- 天翼云无法连接mysql_天翼云Linux主机异常
- D3D11 MD5骨骼动画模型的加载
- 阅读笔记--操作系统(清华大学公开课)