前端缓存
service worker:可以用来实现缓存,但是必须是 https
memory cache:是内存中的缓存样式脚本图片等,tab 关闭,内容就释放了
disk cache:存储硬盘的缓存,慢一点,但是容量和时效更好一些。系统大文件通常会在这里或者当前内存的使用率高的话
push cache:是 HTTP/2 的内容,只在 session 存在,会话结束就释放,非严格执行缓存指令。
具体怎么设置记不清了。
expires 设置过期时间,老的 和 cache-control 比较重要的原则
使用 etag 和 Last-modified。
频繁变动就直接 cache-control:no-cache 好了,配合 etag 和 Last-Modified 来验证是否有效
不长变化的设置 cache-control:max-age=310000,然后真的要修改就改一下文件路径
xss 和 csrf
原则就是不信任任何用户输入。
xss 就是前端脚本注入,就是用户输入的内容要转义之后再显示在页面上,后端最好也能配合加一层 filter,对<>进行过滤
csrf 的解决办法就是带上 token 或者判断来源的 referer。referer 用来解那种 get 请求,用户点击了之后带上了 cookie 会通过服务器鉴权,referer 会错。token 只存在后端的 session,也伪造不了。
todo:csrf 到底是怎么触发??
转载请注明来源,欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达。可以在下面评论区评论,也可以邮件至 981909093@qq.com
文章标题:
文章字数:346
本文作者:泽鹿
发布时间:2019-08-01, 14:46:32
最后更新:2019-08-29, 16:10:17
原始链接:http://panyifei.github.io/2019/08/01/前端面试/问答/http/缓存策略/版权声明: "署名-非商用-相同方式共享 4.0" 转载请保留原文链接及作者。