CORS#
默认情况下,PostgREST设置高度许可的跨域资源共享,这就是它接受来自任何域的AJAX请求的原因。可以使用以下命令配置此行为 服务器-CORS-允许的来源 。
它还可以处理 preflight requests 由浏览器完成,并使用返回的 Access-Control-Max-Age: 86400
标题(86400秒=24小时)。这对于减少后续请求的延迟很有用。
A POST
印前检查请求如下所示:
curl -i "http://localhost:3000/items" \
-X OPTIONS \
-H "Origin: http://example.com" \
-H "Access-Control-Request-Method: POST" \
-H "Access-Control-Request-Headers: Content-Type"
HTTP/1.1 200 OK
Access-Control-Allow-Origin: http://example.com
Access-Control-Allow-Credentials: true
Access-Control-Allow-Methods: GET, POST, PATCH, PUT, DELETE, OPTIONS, HEAD
Access-Control-Allow-Headers: Authorization, Content-Type, Accept, Accept-Language, Content-Language
Access-Control-Max-Age: 86400
允许的原点#
通过以下配置设置,PostgREST将接受来自域的CORS请求 http://example.com
和 http://example2.com
。
server-cors-allowed-origins="http://example.com, http://example2.com"