目录
HTTP协议/浏览器
cookie,sessionStorage和localStorage
cookie,sessionStorage和localStorage都是存储在浏览器端,并且是同源的。cookie数据始终在同源的http请求中携带,在浏览器端和服务器端来回传递的,有一定的存活时间,存活时间过后就会失效,存储大小只有4KB;sessStorage和localStorage仅在本地保存,不会传递到服务器端,而且比cookie的存储空间大一些;sessionStorage的存活时间是在一个会话内,只要在浏览器关闭之前一直有效;localStorage的存活时间最长,始终有效。
cookie和session
cookie数据存储在客户端,session数据存储在服务器。相比session,cookie不是很安全,别人可以分析存储在本地的cookie并进行cookie诈骗;而session,当访问增多时,会比较占用服务器性能。
Doctype
Doctype申明位于文档的开头,用于告诉浏览器以什么样的方式来渲染页面,有混杂模式和严格模式两种
混杂模式向后兼容,模拟老浏览器,防止浏览器版本过旧不兼容页面
严格模式是将JS和排版以浏览器最高的标准运行
HTTP和HTTPS
基本概念和区别
HTTP是用于web浏览器和Web服务器之间通信的协议,超文本传输协议,传输的信息是未加密的明文。而HTTPS是具有安全性的SSL加密传输的协议,可进行身份认证和加密传输。HTTP的端口是80,HTTPS的端口是443.
强缓存和协商缓存(待补充)
服务器上的数据是会有更新的,我们不能一直使用浏览器的本地缓存,这样就只能一直使用旧数据。我们希望当服务器的数据发生更新时,浏览器会请求更新数据,如果服务器上的数据没有更新我们就使用本地数据,这样能节省因网络请求而产生的资源浪费。
Get和Post请求的区别
Get是通过url请求,而post请求则是在request body中
get请求只能通过url编码,而post有多重编码方式
get请求参数直接暴露在url中,不如post安全
get请求在url中有长度限制,post没有
get请求参数会被完整保存在浏览器的历史记录中,而post不会
Get产生一个TCP数据包,而Post产生两个TCP数据包
浏览器渲染的基本步骤
- 根据服务器发送的HTML生成dom树,解析CSS文件生成CSSOM树
- 结合DOM树和CSSOM树生成render树,也就是渲染树
- 在render树中对每个节点进行布局,计算每个元素的大小,确定其在屏幕中的位置
- 绘制。根据render树和布局将显示页面
HTML5
标签语义化
增加了nav aside header footer等语义化标签
表单
为input增加了email,range,number,url等类型
多媒体
增加视频元素video和音频元素audio
画布canvas
SVG
可以内联SVG
web worker
运行在后台的JS,独立于其他的脚本,不会影响页面的性能
客户端存储
localStorage:没有时间限制的数据存储
sessionStorage:针对一个session的数据存储
MVVM(Model-View-ViewModel)
MVVM模式源于经典的MVC(Model-View-Controll)模式。MVVM的出现促进了前后的端逻辑分离,其核心是View-Model层,它就是一个数据中转站,转换Model层的数据使其方便管理和使用。View-Model层向上与View层进行双向的数据绑定,向下通过接口与Model层交互数据,起承上启下的作用,完全解耦了View层和Model层。