一、请求头referer,说明网页来源,即网页地址栏的地址,
可根据referer策略渲染赋值什么的url:只给源(协议、域名、端口号:如果有)
还是完整的url地址:包含地址栏?号后面的请求参数
1、referer策略:很多种
2、如果要referer请求的值是完整的url地址但是不包含?后参数部分,
不好意思,除非网页地址本就没有参数,否则无法做到。因为referer策略没有(完整url的有点符合),即使有,在非同源的环境下
浏览器也根据是否同源做不一样的安全限制,并不能保证所有接口的referer都是完整的url,在非同源的情况下可能只发送网页的源
而直接修referer的值是不允许的,因为浏览器有安全拦截
3、所以可以用一个自定义请求头字段,手动赋值上去网页的url地址:对完整的url地址以问号做分割再选择
就可以得到符合的url字段。但是,如果是iframe嵌套窗口的时候:本地开发是子窗口,这时要拿到顶级窗口:也就是父窗口,的window.locaiton对像的地址url、
使用postMessage与子窗口进行通信,子窗口:及本地代码进行事件监听,监听message事件,拿到对应参数
然后去满足第2步的操作
二、请求拦截
1、在请求拦截中编写自定义请求头字段的代码,要注意,后端需要允许该字段。
2、有的请求使用了封装的axios实例的方法,而有的接口是直接调用了axios
为满足所有的接口都加上请求头,就需要做实例的请求拦截与axios的直接拦截,经过本人实验,这两个拦截不冲突,
不会说axios也可以拦截使用了axios实例发送的请求,axios拦截只会拦截直接调用axios的请求