当用户输入网址到页面展现,发生了什么?

  当我们输入地址的时候,浏览器就开始在匹配可能的url,在书签、历史记录等地方查找,然后给出提示,让用户可以补全url地址。

  当网址完全输入,按下回车键时,浏览器做的第一件事就是DNS解析。浏览器会先去本地的hosts文件中看看有没有和这个域名对应的ip,如果有就打开这个ip,没有的话浏览器会发送DNS请求到DNS服务器,这个过程先去本地的DNS服务器查找,有则返回,没有的话本地DNS服务器继续向根DNS服务器发送请求,然后将获取到的ip返回,并且本地的DNS服务器还将这个对应关系保存在缓存中,方便下次查询。这里的查询是迭代查询,查询的递交者是客户端。

  拿到对应的ip后,浏览器与服务器通过三次握手建立TCP/IP连接后,发送http请求,进行网络通信,浏览器从应用层到传输层(TCP)、到网络层(IP)、到链路层(网络),客户端发送请求的阶段结束。

  服务器接收到客户端发送的http请求后,查找客户端请求的资源,然后再从链路层到网络层、到传输层、到应用层,将响应报文返回,通过四次挥手断开TCP/IP连接。

  浏览器收到html、css、js等文件后,解析html构建DOM树、构建render树、布局render树、绘制render树,然后解析css文件构建渲染树,这个过程完成后,浏览器开始布局渲染树并将其绘制到页面中。
在首次加载时会经历回流和重绘,速度较慢。js的加载可以看成是这个同步的主线程上的一个任务队列。有的网页页面很大,可以用预加载和懒加载提升用户体验。

原文地址:https://www.cnblogs.com/wuqilang/p/11192313.html

时间: 2024-11-09 06:24:06

当用户输入网址到页面展现,发生了什么?的相关文章

在浏览器输入网址,Enter之后发生了什么?

启动浏览器,在地址栏输入我们将要访问的网页,然后按一下回车,OK,成功进入! 在我们回车之后,发生了什么事情?为什么我们会访问到期待的网页,我们究竟访问了谁?如何访问到他的? 我简单的向大家介绍一下,并不深入讲解,只能算作小白科普,不过这个科普还是很有必要的,它不仅能让我们认识到计算机之间是如何沟通的,也能让我们知道很多网络危机.故障是大致怎样产生的,以后遇到问题也好有一个切入点. 你的名字叫什么? 启动浏览器是浏览网页的第一步,毕竟是世界之窗嘛,然后我们在地址栏中输入一个网址,比如百度(www

在浏览器输入网址,Enter之后发生的事情

在浏览器输入网址,Enter之后发生的事情: 1. 浏览器接收域名 2. 发送域名给DNS,中文名字是域名系统服务器,一般位于ISP(互联网服务提供商,比如我们熟知的联通.移动.电信等) 中.浏览器会首先发给离自己最近的DNS,DNS收到浏览器发来的域名,在自己的数据库和缓存中查找这个域名所对应的IP,如果没有他会询问其他的DNS,递归下去直到弄清楚IP.最后把结果返回给浏览器. 3. DNS返回域名所对应的IP地址 4. 浏览器向因特网中发出请求 5. 路由器依据IP地址,把包裹送达IP所对应

在浏览器输入网址到页面加载完毕中间到底发生了什么?(Browser-->Server)

最近在学习韩老师的php视频,中间有讲到发送请求到服务器返回内容,以前对这个理解并不深刻,虽然以前也知道一部分,这次听了之后收获良多:所以我就画了个流程图,从浏览器输入网址到服务器返回信息,浏览器渲染,呈现页面的具体过程. 今天是国庆节,明天才会出去玩,所以今天还是得学习,学习根本不能停啊,哈哈! 中间有错误的欢迎各位,不吝赐教,谢谢! 下面这个是韩老师画的图,内容也比较相似,所以我也放在上面,以便以后回顾: 其中有涉及到,http的状态码,我这个好多也确实记不住,所以为了以后需要的时候来看,我

前端:从 URL 输入到页面展现发生了什么?(What really happens when you navigate to a URL)

原文链接: http://blog.csdn.net/tangxiaolang101/article/details/54670218 写在前面的话,这是一篇译文,阅读资料时顺带整理翻译的,原文地址:http://igoro.com/archive/what-really-happens-when-you-navigate-to-a-url/ 作为一个程序员,你应该对web应用是如何工作的有一个高水平的认识,它工作过程都包含了哪些技术:浏览器.HTTP.HTML.web server. requ

输入网址到页面显示中间发生了什么

敲击回车后 1.DNS解析查找对应IP地址,首先是从本地缓存中搜索,没找到的话再从dns服务器开始查找,网址从右到左寻找 2.判断程序使用的协议,如果是HTTP协议,就发送http请求 3.建立TCP连接,提供可靠的字节流服务,三次握手 4.确定对方IP地址,同一子网下通过广播的方式传输数据包(子网掩码确定IP是否同一子网),不同子网下通过网关转发,利用ARP协议(地址解析协议)解析出MAC地址 5.将数据封装成帧,通过确认MAC地址传输 6.光纤等方式,通过高低电频传输01电信号 7.服务器收

从浏览器输入网址到页面显示的全过程

[前言]从全局来讲,当键入一个url时,肯定是需要从服务器请求某个页面或某条数据然后显示到用户自己的电脑屏幕上.这个过程中其实包括:DNS对url域名的解析(在url中解析出服务器所在的IP地址,有的url也包括端口),计算机网络中的五层协议层传输,代理服务器的响应.缓存或者负载均衡.最终html/css/js文件的解析与展现.从后端到前端,这只是概括,接下来将展开分析. 持续更新,逐步完善.主要从TCP协议族.DNS.三次握手.服务器缓存和代理.负载均衡.四次挥手.html显示和渲染.流行的服

浏览器从输入url到页面呈现发生了什么?

当浏览器地址栏中输入www.baidu.com到页面呈现的具体过程: 1.域名解析(DNS解析)(网络层) 先从缓存中找域名对应的ip地址,没有再向域名服务器发送请求. -->浏览器的DNS缓存(以Chrome浏览器为例查看dns缓存,在地址栏中输入chrome://net-internals/#dns 查看浏览器内的dns缓存.) -->操作系统的DNS缓存(window系统调出cmd窗口,在窗口处输入命令ipconfig /displaydns 来进行查看系统内的dns缓存.) -->

输入网址到页面呈现的所经历的过程

当我们在浏览器地址栏上输入要访问的URL后,浏览器会分析出URL上面的域名.进入DNS解析过程: 第1步,浏览器会检查缓存中有没有这个域名对应的解析过的IP地址,如果缓存中有,这个解析过程就将结束.浏览器缓存域名也是有限制的,不仅浏览器缓存大小有限制,而且缓存的时间也有限制,通常情况下为几分钟到几小时不等,域名被缓存的时间限制可以通过TTL属性来设置.这个缓存时间太长和太短都不好,如果缓存时间太长,一旦域名被解析到的IP有变化,会导致被客户端缓存的域名无法解析到变化后的IP地址,以致该域名不能正

从输入网址到页面显示经历了什么

一,解析域名转换成对应的公网的IP地址 二,根据公网IP通过互联网路由到对应的服务器上 三,建立可靠的TCP数据连接: 四,服务器对该URL中的请求进行处理分发,逐步返回一个完整的html: 五,浏览器或者客户端对该HTML进行渲染: 具体内容: 一,解析域名转换成对应的公网的IP地址 1,使用DNS服务,将域名解析为Ip地址: a,递归查询 b,迭代查询 从客户端到本地DNS服务器是属于递归查询,而DNS服务器之间就是的交互查询就是迭代查询 2,解析顺序 a,浏览器缓存 当用户通过浏览器访问某