axios延伸
axios:用于浏览器和node.js的基于promise的http客户端;
axios:基于promise实现异步操作,链式回调方法的一种封装;
特点:
1. 从浏览器制作XMLHttpRequests
2. 让HTTP从node.js的请求
3. 支持Promise API
4. 拦截请求和响应
5. 转换请求和响应数据
6. 取消请求
7. 自动转换为JSON数据
8. 客户端支持防止XSRF
可以发送多个并发请求;
axios.get(url, {//get方法 params: { name: "name" } }) .then(function(response) { console.log(response); }) .catch(function(error) { console.log(error); }); axios.post(url, params, {//post方法 headers: { } }) .then(function(response) { console.log(response); }) .catch(function(error) { console.log(error); });
可以同时执行多个并发请求
csrf:(Crose-site request forgery:跨域请求伪造)也被称作 :one click attack/session riding
跨域请求伪造:以非法身份获取信息。
xss危害 -- session劫持;
1使用post请求 不使用get请求修改信息;
1、服务器端表单hash认证
在所有的表单里面随机生成一个hash,server在表单处理时去验证这个hash值是否正确,
2验证码,所有表单的提交需要验证码
可以理解为在http://后有一段referer记录了访问站点的地址 ,只要验证地址是否是访问站点地址就能进行防御措施;如果直接在游览器地址栏输入资源的url则是空referer,因此也不算是一种安全的方式;
3在http头中自定义属性并验证;
类似于token方式,只不过是自定义方式
4在表单中植入一些加密信息,验证请求就是当表单发送;
5通过图形验证码
相对来说图形验证码应该是最安全的,
安装方法:npm install axios;
引入组件方式:import axios from 'axios';
promise :(用于异步操作,可以进行链式回调);
链式回调 : 通过请求方式请求的结果再次去向服务器请求;
兼容性问题处理:
安卓4.3一下不支持promise方式
需要在项目中安装 cnpm install es-promise --save-dev
或者在静态资源地址加上
require("res-promise").polyfill();
上述总结,是最近对这方面知识有些接触所以就保存下来与大家分享。
如有言误,麻烦指正。