关于跨域总结
学习笔记 成长必要条件
-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
网友评论