跨域问题,写在中间件中-创新互联


跨域问题:

创新互联建站长期为1000+客户提供的网站建设服务,团队从业经验10年,关注不同地域、不同群体,并针对不同对象提供差异化的产品和服务;打造开放共赢平台,与合作伙伴共同营造健康的互联网生态环境。为复兴企业提供专业的成都做网站、成都网站建设,复兴网站改版等技术服务。拥有十年丰富建站经验和众多成功案例,为您定制开发。

-同源策略(浏览器的安全策略)

-只允许当前页面朝当前域下发请求,如果向其他域发请求,请求可以正常发送,数据也可以拿回,但是被浏览器拦截了

-cors#跨域资源共享:只要服务器实现了CORS,就可以实现跨域资源共享

-简单请求

-只发一次请求:HEAD,GET,POST


-非简单请求:POST指定发送数据的格式为json

-发两次请求:一次预检(OPTION请求),只有服务端允许发请求,才能继续发第二次正常请求,一次真正的请求

-服务端如何处理:

-写在中间件中:

from django.utils.deprecation import MiddlewareMixin
class MyCorsMiddle(MiddlewareMixin):
    def process_response(self,request,response):
        # 简单请求:
        # 允许http://127.0.0.1:8001域向我发请求
        # ret['Access-Control-Allow-Origin']='http://127.0.0.1:8001'
        # 允许所有人向我发请求
        response['Access-Control-Allow-Origin'] = '*'
        if request.method == 'OPTIONS':
            # 所有的头信息都允许
            response['Access-Control-Allow-Headers'] = '*'
        return response

-在setting中配置中间件

跨域问题,写在中间件中

另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。


标题名称:跨域问题,写在中间件中-创新互联
本文来源:http://scyanting.com/article/dccisd.html