您的位置:首页 > 数据库 > MySQL

Mysql常用命令行

2013-08-25 13:08 465 查看
才看到W3C的cross original resource sharing,又多了一种跨域的选择.

(官方的跨域解决出现了,看了下文档时间貌似很久了...我果然很out)

那和民间标准jsonp 比有啥优势呢:

1.支持多种http方法

jsonp一般只支持get方法。

而w3c的cross orginal resouce sharing 支持http的其他几种方法,例如put,delete...

2.简单

对于服务端来说,设置一个response head 就能搞定W3C CORS,

Access-Control-Allow-Origin: http://your site


检查下origin就可以选择是否要返回response.

而对于jsonp来说,要进行安全检查

3.安全

这个就不废话了,jsonp就是script注入,跨站攻击一般都会考虑....

劣势:

这玩意儿要看浏览器颜色,和HTML5一样 不是谁都可以用的........
----------------------------------------------------------------------

W3C CORS客户端实现

只搞了FF的,IE的貌似是XDomainRequest.....下次补上
var XCOS = function(type,url){
var xhr = new XMLHttpRequest();

if (xhr && "withCredentials" in xhr){
xhr.open(type, url, true);
}
else xhr = null;
var success = function(msg,obj){
alert(msg);
};
var error = function(obj){
alert("error");
};
var handle_load = function (event_type) {
return function (XHRobj) {
if (event_type == 'load' && (XHRobj.readyState == 4) && success)
success(XHRobj.responseText, XHRobj);
else if (error)
error(XHRobj);
};
};

try {
xhr.withCredentials = true;
} catch(e) {};

xhr.onload = function (e) { handle_load('load')(e.target); };
xhr.onerror = function (e) { handle_load('error')(e.target); };
xhr.send();
};


W3C 服务端代码:

response.setHeader("Access-Control-Allow-Origin","xyz")
response.setHeader("Access-Control-Allow-Methods","get")


最后 我承认以下写的比我好多了
http://hacks.mozilla.org/2009/07/cross-site-xmlhttprequest-with-cors http://www.w3.org/TR/cors/
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: