![](https://img-blog.csdnimg.cn/d4a8a8e63283477cb6afcde01f3ac1d8.jpg?x-oss-process=image/resize,m_fixed,h_224,w_224)
浏览器原理
文章平均质量分 91
浏览器原理
Vanghua
这个作者很懒,什么都没留下…
展开
-
浏览器安全
1.XSS攻击1.1 XSS攻击介绍XSS攻击是一种脚本注入攻击,通过在网站注入恶意脚本来进行破坏。1.2 反射型XSS攻击1.2.1 攻击流程:(XSS可行性分析) 确定要攻击的页面和攻击对象。用户输入:观察页面是否允许把用户的输入插入到页面中URL:观察改变URL的查询参数,页面是否发生变化。XSS测试,输入一段攻击脚本查看是否攻击成功(攻击脚本制作) 当确认了可攻击页面和攻击目标群体之后,制作恶意攻击代码。获取隐私: 可以把该页面下用户的cookie和本地存储数据发送原创 2021-11-10 20:32:28 · 3407 阅读 · 0 评论 -
浏览器跨域
1.同源策略:1.1 概念:脚本只能与脚本所在文档同源的资源进行交互。只是浏览器的安全策略,并不属于网络协议范畴。同源策略限制对象:脚本中的代码同源策略中的源:脚本代码请求资源的源和包含脚本的文档的源同源判断:资源的URL和文档的URL以下部分相同即可。protocol(协议) + domain(域名/IP地址) + port(端口号)1.2 浏览器同源策略的实现:客户端请求能够正常发送,服务端能够正常接收,但是服务端传回来的响应会被浏览器拦截。客户端的请求无法发送,直接被浏览器拦截。原创 2021-11-08 15:38:46 · 229 阅读 · 0 评论 -
浏览器事件
1.浏览器事件循环事件循环介绍:事件循环的创建时间是在tab页面创建或者web worker创建时创建。事件循环的目的是不阻塞主线程JavaScript的运行,提供异步回调机制。事件循环的工作机制是(持续循环) 在所有异步事件结束之前事件循环一直执行一个类似于while(true)的循环,不停止。(宏任务和微任务队列) 事件循环会维护一个task queue(宏任务队列)和一个microtask queue(微任务队列)。宏任务队列中有多个子队列,比如定时器回调函数子队原创 2021-11-03 23:24:26 · 768 阅读 · 0 评论 -
浏览器存储
1.CacheStorage1.1 介绍Cache(设计目的) cache是为了服务线程能够缓存网络请求而设计的,它只能存储网络请求,和网络请求响应。(设计思路) cache被设计成了二级字典结构。第一层字典是caches对象,每个键都是字符串,键所对应的值都是一个cache对象。第二层字典是cache对象,每个键都是Request对象,每个值都是Response对象。(作用域) 与localStorage的作用域相同,都是相同浏览器下的相同源。(特点) cache的相关api全原创 2021-10-30 12:31:53 · 137 阅读 · 0 评论 -
浏览器内核
1.浏览器内核1.1 浏览器内核介绍之前讲浏览器内核一般是指浏览器渲染引擎和JavaScript引擎。目前内核一般指浏览器渲染引擎。1.2 浏览器内核UserAgentuserAgent指令查看浏览器内核可以通过navigator.userAgent命令查看,相当于浏览器对自己的一个标识。userAgent格式userAgent有专门的格式要求,但实际上测试发现浏览器厂家并不是完全按照规则来。规则:浏览器标识(操作系统标识;加密等级标识;浏览器语言) 渲染引擎标识/版本信息原创 2021-10-29 12:00:17 · 709 阅读 · 0 评论 -
浏览器缓存
1.浏览器缓存配置1.1 http中的Cache-Control1.1.1 request中的主要Cache-Control属性值属性值说明取值类型max-age浏览器根据此时间(秒为单位)作为时间间隔。每个时间间隔检查缓存时间是否超过了request中设置的max-age时间。如果未超过那么继续使用,如果超过了那么进行缓存协商数值期限类型min-fresh浏览器将尽量使用缓存。使用前将比较min-fresh和当前时间到缓存过期时间的间隔,如果min-fresh较原创 2021-10-29 10:39:39 · 435 阅读 · 0 评论 -
浏览器中的进程和线程
1.简述进程和线程进程:一段运行的程序指令是对CPU工作时间段的描述执行过程是先加载进程A运行需要的上下文环境(全局变量,库…),执行进程A,保存A所需要的上下文,以相同的操作执行进程B…线程:一段运行的程序指令是对CPU工作时间段的描述执行过程是先加载线程A运行需要的上下文环境(全局变量,库…),执行进程A,保存A所需要的上下文,以相同的操作执行线程B…线程的上下文是所属进程的上下文,相比进程上下文切换来说,线程上下文切换的开销要小一些2.原创 2021-10-17 21:29:04 · 1912 阅读 · 2 评论 -
浏览器渲染原理
1 浏览器渲染过程1 HTML Parser启动开始解析文档构建DOM树,CSS Parser启动遇到css代码时开始解析构建CSSOM树。document.readyState = loading2 遇到同步脚本则立即执行,脚本执行会阻塞HTML和CSS Parser3 遇到非同步脚本 type=“module” async defer会延迟执行,先下载脚本4 HTML Parser解析完成后document.readyState = interactive5 执行非同步脚本(不包含asyn原创 2021-10-16 11:18:44 · 145 阅读 · 0 评论