从URL到页面
1.DNS 解析:将域名解析成 IP 地址
2.TCP 连接:TCP 三次握手
3.发送 HTTP 请求
4.服务器处理请求并返回 HTTP 报文
5.浏览器解析渲染页面,构建dom树,样式树,渲染树,layout布局,painting绘制
6.断开连接:TCP四次挥手
重绘和重排
重绘:当元素样式的改变不影响布局时,浏览器将使用重绘对元素进行更新;损耗较少
重排:当元素样式的改变影响布局时,如尺寸、位置、内容等属性,浏览器将使用重绘对元素进行更新;损耗较重
跨域处理
同源:指的是协议、域名、端口号一致
方案:
- JSONP
- 代理转发
- 跨域资源共享(CORS)
- Websocket:HTML5 规范提出的一个应用层的全双工协议,适用于浏览器与服务器进行实时通信场景。
浏览器渲染引擎
分为这四种:Trident(IE)、Gecko(火狐)、Blink(Chrome、Opera)、Webkit(Safari)
存储
短暂性存储
cookie: 通常用于存储用户身份,登录状态等 http 中自动携带, 体积上限为 4K, 可自行设置过期时间
localStorage / sessionStorage: 长久储存/窗口关闭删除, 体积限制为 4~5M
indexDB
持久性存储
分布式缓存 redis
数据库
HTTP
三次握手,四次挥手防止报文丢失
缓存:强缓存、协商缓存
状态码:
1xx:指示信息--表示请求已接收,继续处理。
2xx:成功--表示请求已被成功接收、理解、接受。
3xx:重定向--要完成请求必须进行更进一步的操作。
4xx:客户端错误--请求有语法错误或请求无法实现。
5xx:服务器端错误--服务器未能实现合法的请求。