Cookie特点
1.服务器通过Set-Cookie 在响应头设置cookie
2.浏览器获得cookie后每次请求都会带上cookie
3.服务器读取cookie就知道登录信息
注意:
在Chrome登录后,在Safari会有cookie吗?没有
cookie存在哪里?win存在c盘秘密文件、其他存在硬盘
cookie不安全?因为他可以在浏览器端用户自己修改
cookie有有效期吗?有,默认20min左右,时间由浏览器自己决定,但是后端可以强制设置有效期
Session
后台给cookie一个随机数,然后随机数对应的是一块内存,内存中保存着用户信息,这样一来安全性更高。
session实质就是一块内存。session相比于cookie的缺点就是消耗内存
服务器上的Hash
LocalStorage
HTML5提供的一项API
浏览器上的Hash
localStorage.setItem()//localStorage.getItem()
设置localstorage和取值
有效期:永久有效,除非用户清理缓存
大小:大约5M左右
常用场景:不要应用在一些敏感数据的场景,一般用于会告诉用户网页是否有变更
SessionStorage
其他同上,和localstorage不同的在于sessionstorage在关闭浏览器后会消失
http缓存
Cache-Control :max-age=<seconds>
意思是:在一定时间内,如果同样的url请求资源,则会选择使用之前的,而不是重新请求,可以适当加快速度。
一般首页不要设置缓存,否则会出现设置的时间内,资源不会更新。
有其他资源一般设置很长时间,比如一个月或者一年
以前用:Expires
现在用:Cache-control
ETag
MD5 一种摘要算法(传输过程中,确定传输过来的文件是否正确)
Etag添加版本号,通过MD5判断,如果一样的话这说明不需要再次请求。