📜  设置 cors 标头 (1)

📅  最后修改于: 2023-12-03 15:28:07.490000             🧑  作者: Mango

设置 CORS 标头

什么是 CORS?

CORS(Cross-Origin Resource Sharing)即跨源资源共享,它是为了解决网页上 Ajax 请求跨域问题而出现的一个标准。跨域请求指的是在同一页面内,从一个域名所在的网页请求另一个域名下的资源,比如在 http://example.com 页面向 http://other-example.com 发送 Ajax 请求。

在没有任何限制的情况下,浏览器默认不允许这种跨域请求,因为这可能会导致潜在安全问题。CORS 是一个用来限制跨域请求的机制,它规定了请求头和响应头必须包含的信息,以保证安全性。

如何设置 CORS 标头?

要在服务器端设置 CORS 标头,需要修改服务器端的配置。以下是一些常见的方法:

使用 HTTP 头设置 CORS

HTTP 头设置 CORS 标头最常见的方法是在服务器端设置响应头。可以使用下面的代码设置响应头:

response.headers['Access-Control-Allow-Origin'] = '*'

这个代码片段告诉浏览器,任何域名下的网页都可以向当前域名发送跨域请求。如果你想限制跨域请求的来源,可以使用具体的域名来替代星号:

response.headers['Access-Control-Allow-Origin'] = 'http://example.com'

这个代码片段只允许 http://example.com 发送跨域请求。

使用 WSGI 中间件设置 CORS

如果你在使用 Python 的 Web 框架,例如 Flask 或 Django,你可以使用 WSGI 中间件来设置 CORS 标头。下面是一个 Flask 应用中使用 WSGI 中间件设置 CORS 标头的示例:

from flask import Flask
from flask_cors import CORS

app = Flask(__name__)

# 在这里初始化 CORS 中间件
CORS(app)

@app.route('/')
def index():
    return 'Hello, world!'

除了 Flask 以外,也有一些针对其他 Web 框架的 CORS 中间件,例如 Django-cors-headers 和 Pyramid-cors。

结论

CORS 标头非常重要,在不同域名下进行的网页间交互十分常见,如果你希望你的网页应用更加健壮可靠,那么请务必设置好 CORS 标头。