介绍一下页面加载,性能优化,及简单的web前端攻击的知识,只是简单的介绍昂,不喜勿喷 知识点包括:从输入url到渲染的整个过程介绍、页面优化,缓存、页面加载方式等css
知识点
加载一个资源的过程(从输入url获得html的渲染过程)
- 浏览器根据DNS服务器获得域名的IP地址
- 向ip对应的机器发送http请求
- 服务器获得请求,处理并返回http资源
- 浏览器获得资源后对资源进行处理返回内容
浏览器渲染页面的过程
- 根据HTML生成DOM tree
- 根据CSS生成CSSOM
- 根据DOM和CSSOM生成RenderTree
- 根据renderTree渲染页面和展现
- 遇到script会执行而且阻塞渲染
页面优化的原则
页面优化
- 页面资源优化
- 静态资源压缩合并
- 静态资源缓存
- 使用CDN让资源加载更快
- 使用SSR后端渲染,数据直接输出到HTML中
- 渲染优化
- css放前面,JS放后面
- 懒加载(图片懒加载,上拉加载更多)
- 减小DOM查询,对DOM查询进行缓存
- 减小DOM操做,多个操做尽可能合并在一块儿
- 事件节流
- 尽早进行操做(DomContentLoaded)
前端攻击类型
-
XSS跨域脚本攻击html
- 插入一段
<script>
- 解决办法:前端主动将
<
,>
进行转义替换,可是会影响性能
-
CSRF跨站请求伪造前端
-
攻击原理: web
-
防护措施算法
- 添加token校验
- referer验证(判断页面来源)
- 隐藏令牌
算法
- 排序
- 快排:https://segmentfault.com/a/1190000009426421
- 选择排序:https://segmentfault.com/a/1190000009366805
- 希尔排序:https://segmentfault.com/a/1190000009461832
- 堆栈、队列、链表
https://juejin.im/entry/58759e79128fe1006b48cdfd
- 递归
https://segmentfault.com/a/1190000009857470
- 波兰式和逆波兰式
问题
window.onload和DomContentLoaded的区别