服务端解决跨源共享
?
跨源资源共享是web开发领域中一个非常有趣的话题,互联网上有很多朋友讨论这个话题。跨源共享的官方文档可到这里查看,当然也有很多朋友给出各式各样的解决方案,确实都是OK的,但今天我分享的这套解决方案可能在以往的文章中很少看见—–我们如何在服务器端解决跨源资源共享的问题。
做过服务端开发的同学都知道服务器每次响应(http response)都会送回客户端一个http header,而这些http header数据中有时会带有Access-Control-Allow-Origin,请记住Access-Control-Allow-Origin不是每次都会response给客户端的,Access-Control-Allow-Origin通常是在开发者定义后会正确响应给客户端,Access-Control-Allow-Origin的意思是指定可访问控制的请求源,Access-Control-Allow-Origin字段有三种支持的值。
第一种是指定一个可访问控制的请求源,它的格式是一个完整的URL地址
?如果你的目录中没有web.config,你可以先手动新建一个web.config在基于NodeJS的ExpressJS中可以添加以下代码,以启用CORS
class CORSEnabledHandler(webapp.RequestHandler): def get(self): self.response.headers.add_header("Access-Control-Allow-Origin", "*") self.response.headers['Content-Type'] = 'text/csv' self.response.out.write(self.dump_csv())?谁已经开始在服务端开始CORS了(据我也了解到的)?HTML5 Rocks一个开源的HTML5开发者资源共享网站
WebKit?WebKit宣布在WebGL mailing list,CORS支持图片和视频资源已经完全实施了。
火花集?中国一家创意图片分享网站。有兴趣的话,你还可以阅读MDN的一篇文章
?