运行环境及安全性
1.上线和回滚
基本流程:
将测试代码提交到git版本库的master分支,将当前服务器的代码全部打包并记录版本号,生成新版本号,备份,将master分支的代码提交覆盖到线上服务器,生成新的版本号
回滚流程要点:将当前服务器的代码打包并记录版本号,备份,将备份的上一版本号解压,覆盖到线上服务器,生成新的版本号
Linux基本命令:
创建文件夹:mkdir dirname
查看文件夹:ls 只看文件夹名字 或者 ll列表形式查看
查看当前目录:pwd
删除文件夹:rm -rf dirname
查看文件内容:cat filename
2.运行环境
页面加载:
从输入url到得到html的过程:
浏览器根据DNS服务器得到域名的IP地址,向web服务器发送http请求,服务器收到、处理并返回http请求,浏览器得到返回内容
加载资源的形式:1输入url(或跳转页面)加载html,2加载html中的静态资源(脚本,样式,视频等)
浏览器渲染页面的过程:根据html结构生成DOM Tree,根据css生成CSSDOM,将DOM和CSSDOM整合成renderTree,浏览器根据renderTree开始渲染,遇到<script> 时,会执行并阻塞渲染(因JS也可以操作DOM,所以会阻塞渲染)
Window.load和DOMContentLoaded的区别:
性能优化:多使用内存、缓存或者其他,减少CPU计算,减少网络
加载资源优化:静态资源的压缩合并,静态资源缓存,使用CDN让资源加载更快,使用SSR后端渲染,使数据直接输出到html页面中
渲染优化:懒加载(什么时候用,什么时候加载),减少DOM操作(多个操作尽量合并在一起执行),减少DOM查询,对DOM查询做缓存
通过连接名称控制缓存,只有内容改变的时候,链接名称才会改变
合并DOM插入:
事件节流:例如
3.安全性
XSS跨站请求攻击
例如:在新浪微博上写文章时,同时偷偷插入<script>标签,利用cookie将查看者的信息发送到自己的服务器上(解决:前端将<替换为<,将>替换为>,较好的方式是在后端进行替换)
XSRF跨站请求伪造
当你已登录一个网站,而该网站的付费接口无验证机制,此时,你接收到一封邮件,附件中含有和该站一样的付费接口地址,当你查看邮件时,已经悄悄付费了(解决:在付费时添加各种密码、短信验证)