2019-02-20

关于跨域总结 


学习笔记 成长必要条件


-jsonp


-cors  后端提供

        res.setHeader('Access-Control-Allow-Origin', origin); // 允许哪个源可以访问

        res.setHeader('Access-Control-Allow-Headers', 'name'); // 允许哪个头可以访问我

        res.setHeader('Access-Control-Allow-Methods', 'PUT'); // 允许哪个头可以访问我

        res.setHeader('Access-Control-Allow-Credentials', true); // 是否可以携带cookie cookie不允许跨域

        res.setHeader('Access-Control-Allow-Max-Age',3); // OPTIONS 试探请求 看是否可以跨域 预检的存活时间

        res.setHeader('Access-Control-Expose-Headers', 'name'); // 允许返回的头


-postMesaage  两个页面通信


-document.domain 子域与父域


-window.name


-location.hash 哈希可实现跨域


-http-proxy  反向代理


-nginx  nginx 服务端代理 基于nginx 配置信息

{

    localtion ~.*\.json {

        root json;

        add_header "Access-Control-Allow-Origin"

    }

}


-websocket 页面通信,可实现跨域      ws协议是双向的 http协议是单项的 内部都是基于TCP

        // 高级 pai 不兼容 socket.io (一般使用它) 与服务器通信 页面通信 a.html -> f --- f ---> b.html  one server to many clients


代码例子

你可能感兴趣的:(2019-02-20)