跨域问题,写在中间件中


跨域问题:

专注于为中小企业提供成都做网站、网站建设服务,电脑端+手机端+微信端的三站合一,更高效的管理,为中小企业沅陵免费做网站提供优质的服务。我们立足成都,凝聚了一批互联网行业人才,有力地推动了1000多家企业的稳健成长,帮助中小企业通过网站建设实现规模扩充和转变。

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

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

-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中配置中间件

跨域问题,写在中间件中


本文名称:跨域问题,写在中间件中
网址分享:http://scyanting.com/article/jppccd.html