• django之vue跨域请求


    前言--跨域请求

    前端对Cross-Origin Resource Sharing 问题(CORS,中文又称'跨域')应该很熟悉了。众所周知出于安全的考虑,浏览器有个同源策略,对于不同源的站点之间的相互请求会做限制(跨域限制是浏览器行为,不是服务器行为。)。

    跨域一句话的理解就是:服务端和请求端的地址不一样。

    1.同源策略

    同源指的是域名(或IP),协议,端口都相同。 不同源的客户端脚本(javascript、ActionScript)在没明确授权的情况下,不能读写对方的资源。

     

    3. 服务器运行跨域配置

    3.1 安装 django-cors-headers

    pip install django-cors-headers

    3.2 添加到已安装的应用程序中

    INSTALLED_APPS  =(
         ... 
        ' corsheaders ',
         ... 
    )

    3.3 添加中间件类来收听响应

     

    MIDDLEWARE  = [
        ... 
        # 跨域请求中间件
        'corsheaders.middleware.CorsMiddleware', // 放在此位置 ,默认中间件中第三的位置
        ' django.middleware.common.CommonMiddleware',
         ... 
    ]
    
    

    3.4 跨域配置

    # 跨域允许的请求方式,可以使用默认值
    # 1.默认的请求方式为:
    # from corsheaders.defaults import default_methods
    # CORS_ALLOW_METHODS = default_methods  //应该是默认全部请求方式
    # 2.自定义
    CORS_ALLOW_METHODS = (
        'GET',
        'POST',
        'PUT',
        'PATCH',
        'DELETE',
        'OPTIONS'
    )
    ​
    # 允许跨域的请求头,可以使用默认值,默认的请求头为:
    # from corsheaders.defaults import default_headers
    # CORS_ALLOW_HEADERS = default_headers
    #自定义
    CORS_ALLOW_HEADERS = (
        'XMLHttpRequest',
        'X_FILENAME',
        'accept-encoding',
        'authorization',
        'content-type',
        'dnt',
        'origin',
        'user-agent',
        'x-csrftoken',
        'x-requested-with',
        'Pragma',
    )
    ​
    # 跨域请求时,是否运行携带cookie,默认为False
    CORS_ALLOW_CREDENTIALS = True
    # 允许所有主机执行跨站点请求,默认为False
    # 如果没设置该参数,则必须设置白名单,运行部分白名单的主机才能执行跨站点请求
    CORS_ORIGIN_ALLOW_ALL = True

     

  • 相关阅读:
    将SpringBoot应用Docker化并部署到SAP云平台
    另一种办法直接在宿主机上的文件夹内查看Docker镜像运行的日志文件
    Dockerfile里的VOLUMES关键字
    Effective C++笔记(三):资源管理
    Denoise Autoencoder简单理解
    Visual Tracking with Fully Convolutional Networks
    Effective C++笔记(二):构造/析构/赋值运算
    effective c++读书笔记(一)
    Robust Online Visual Tracking with a Single Convolutional Neural Network
    C++卷积神经网络实例(一)
  • 原文地址:https://www.cnblogs.com/Deaseyy/p/10903306.html
Copyright © 2020-2023  润新知