13.从url 输入网址到最终页面渲染完成
从url 输入网址到最终页面渲染完成,发生了什么? 1.DNS解析:将域名地址解析为IP地址
先读取:
-浏览器DNS缓存
-系统DNS缓存
-路由器DNS缓存
-网络运营商DNS缓存
-递归搜索:blog.baidu.com
- .com域名下查找DNS解析
- .baidu域名下查找DNS解析
- blog域名下查找DNS解析
- 页面出错
2、TCP连接:TCP三次握手
-第一次握手,由浏览器发起,告诉服务器我要发送请求了
-第二次握手,由服务器发起,告诉浏览器我准备接受了,你可以发送了
-第三次握手,由浏览器发送,告诉服务器,我马上发送,准备接受
3、发送请求
-请求报文:HTTP 协议的通信内容
4、接受响应
-响应报文
5、渲染页面
-渲染HTML标记,浏览器调用HTML解析器解析成Token并构成dom树
-遇见style/link标记,浏览器调用css解析器,处理css标记并构成cssom树
-遇见script标记,调用JavaScript解析器,处理script代码(绑定事件,修改dom树、cssom树)
-将dom树和cssom树合并成一个渲染树
-根据渲染树来计算布局,计算每一个节点的几何信息(布局)
-将各个节点颜色绘制到屏幕上(渲染) 注意:这五个步骤不一定按照顺序执行,如果dom树或cssom树被修改了,可能会执行多次布局和渲染,
往往实际页面中,这些步骤都会执行多次的 6、断开连接:TCP四次挥手
第一次挥手:由浏览器发起,给服务器,我东西发完了(请求报文),你准备关闭吧
第二次挥手:由服务器发起,告诉浏览器,我东西接收完了(请求报文),我准备关闭了,你也准备关闭吧
第三次挥手:由服务器发起,告诉浏览器,我东西发完了(响应报文),你准备关闭吧
第四次挥手:由浏览器发起,告诉服务器,我东西接收完了,我准备关闭了(响应报文),你也准备关闭吧
13.从url 输入网址到最终页面渲染完成的更多相关文章
- 从一个url地址到最终页面渲染完成,发生了什么?
从一个url地址到最终页面渲染完成,发生了什么? 1.DNS 解析 : 将域名地址解析为IP地址 浏览器DNS缓存 系统DNS缓存 路由器DNS缓存 网络运营商DNS缓存 递归搜索: www.baid ...
- 从url输入网址后发生什么
从url输入网址后发生什么
- 输入URL地址到最终页面渲染完成,发生了什么事
1. 域名DNS解析 - 浏览器DNS缓存 - 系统DNS缓存 - 路由器DNS缓存 - 网络运营商DNS缓存 - 递归搜索...... 2. TCP连接: TCP三次握手 - 第一次握手,由浏览器发 ...
- 前端防止url输入地址直接访问页面
首先,解决这个问题要搞明白此url是从程序内部跳转还是直接在地址栏输入的,如果是程序内部跳转,那就好办啦.方法如下: 判断用户是否登录状态,是否携带token 使用router.beforeEach注 ...
- 9. http协议_响应状态码_页面渲染流程_路由_中间件
1. http协议 超文本传输协议 协议详细规定了 浏览器 和 万维网服务器 之间互相通信的规则 客户端与服务端通信时传输的内容我们称之为报文(请求报文.响应报文) 常见的发送 get 请求方式 在浏 ...
- 《Webkit技术内幕》之页面渲染过程
文章同步到github<Webkit技术内幕>之页面渲染过程 最近拜读了传说中的<Webkit技术内幕>一书,有很大收获,尤其是对页面渲染有了较深的认识.由于功力有限,而且书中 ...
- 从 输入网址(URL)到页面展示的过程
1.用户输入url网址(URL) 用户输入url(也就是我们说的网址,也是统一资源定义符,用于定义互联网资源) 比如输入https://www.baidu.com 其中https为协议 baidu.c ...
- 经典面试题:从 URL 输入到页面展现到底发生什么?
前言 打开浏览器从输入网址到网页呈现在大家面前,背后到底发生了什么?经历怎么样的一个过程?先给大家来张总体流程图,具体步骤请看下文分解! 本文首发地址为GitHub 博客,写文章不易,请多多支持与关注 ...
- 从输入URL按下回车到页面展现,中间发生了什么?
从输入URL按下回车到页面展现,总的来说发生了一下几个过程: DNS 解析:将域名解析成 IP 地址 TCP 连接:TCP 三次握手 发送 HTTP 请求 服务器处理请求并返回 HTTP 报文 浏览器 ...
随机推荐
- ZOJ2067 经典 DP(单调队列优化)
题目:一个由‘.’和‘#’组成矩形,统计里面'.'组成的矩形的个数. 点击打开链接 自己写挂了,懒得搞了 #include <stdio.h> #include <string.h& ...
- Codeforces Round #224 (Div. 2) A. Ksenia and Pan Scales
A. Ksenia and Pan Scales time limit per test 1 second memory limit per test 256 megabytes input stan ...
- SUST OJ 1642: 绝地求生—死亡顺序
1642: 绝地求生-死亡顺序 时间限制: 1 Sec 内存限制: 128 MB提交: 81 解决: 53[提交][状态][讨论版] 题目描述 最近陕西科技大学六公寓的小东同学深深的入迷了一款游戏 ...
- hdu2084 数塔 DP
数字三角形,DP裸题 #include<stdio.h> #include<string.h> #define max(a,b) (a)>(b)?a:b ][],dp[] ...
- 实习第二天-今年第一场雨-方法的重载(马上想到println()函数和abs(函数))
在C语言中 调用函数abs()返回一个整数的绝对值, fabs(返回一个单精度浮点型的绝对值)若要返回这些数的绝对值,则必须记住这些函数的名字 java可以用方法的重载:即是方法名必须相同,参数必须不 ...
- BatSendMail
@echo off echo ==================================echo == Compress Files And Send Mail ==echo ======= ...
- S5PV210 移植无线wifi网卡 MT7601
一.准备工作 1.MT7601驱动下载 点击下载 2.插入usb WiFi 启动开发板linux,lsusb查看usb驱动 Bus 001 Device 003: ID 148f:7601看到的是该驱 ...
- slf4j-api、slf4j-log4j12、log4j 之间是什么关系?
slf4j:Simple Logging Facade for Java,为java提供的简单日志Facade.Facade:门面,更底层一点说就是接口.他允许用户以自己的喜好,在工程中通过slf4j ...
- linux yum安装httpd后,启动service httpd start 报错解决方案
解决方案:
- JSOI2008——星球大战
题目:https://www.luogu.org/problemnew/show/1197 并查集. 难点是若依次去掉点在求连通块个数,时间太长. 精妙的思维:先全部读入,再逆向求连通块个数——增加点 ...