前端 跨域

1 同源策略:

(1)协议相同,指http  (2)域名相同  (3)端口相同

2 同源策略的目的:

为了保证用户信息的安全。防止恶意的网站盗取数据。
设想这样一个情景:A网站是一家银行,用户登录以后,又去浏览其他的网站B,如果网站B可以读取A网站的Cookie,会发生什么问题?

3 跨域

现代网站html等文件与后台数据库分开存放, 当ajax请求时, 跨域
在本地由Home页面跳转到ShopCar页面, 同源, 没有跨域

4 跨域解决方案

  1. vue框架的跨域
    利用node + webpack + webpack-dev-server代理接口跨域。在开发环境下,由于vue渲染服务和接口代理服务都是webpack-dev-server同一个,所以页面与代理接口之间不再跨域,无须设置headers跨域信息了。
//vue.config.js部分配置:
devServer: {
        historyApiFallback: true,
        proxy: [{
            context: '/login',
            target: 'http://www.domain2.com:8080',  // 代理跨域目标接口
            changeOrigin: true,
            secure: false,  // 当代理某些https服务报错时用
            cookieDomainRewrite: 'www.domain1.com'  // 可以为false,表示不修改
        }],
        noInfo: true
    }

2 jsonp 只支持get

3 websocket

4 CORS
前端什么都不用写

//若想发送cookie
axios.defaults.withCredentials = true
//不写, 即默认false. 不发送cookie 
axios.defaults.withCredentials = false 
posted @ 2022-02-23 22:49  波吉国王  阅读(36)  评论(0编辑  收藏  举报