API发布者操作指南 -- ⑥开启跨域访问

API网关默认不开启跨域访问,如果您需要开启,请参考以下说明完成跨域配置。
1 简单跨域访问
如果是创建新的API,在定义API请求时,打开“支持跨域(CORS)”开关。

2 简单跨域请求的场景需要满足以下两个条件
① 请求方法是HEAD,GET,或者POST;
② HTTP的头信息不超出以下范围:
Accept
Accept-Language
Content-Language
ast-Event-ID
Content-Type:取值范围:application/x-www-form-urlencoded、multipart/form-data、text/plain
有关简单跨域的详细信息,可参考简单请求:
3 简单请求
对于简单请求,您需要在创建API时,开启“支持CORS”功能。
场景一:
已开启CORS,且后端服务响应消息中未指定跨域头时,API网关接受任意域的请求,并返回“Access-Control-Allow-Origin”跨域头,示例如下:
浏览器发送一个带Origin字段的请求消息:
GET /test/cors HTTP/1.1
Host: www.example.com
Orgin: http://www.cors.com
Content-Type: application/x-www-form-urlencoded; charset=utf-8
Accept: application/json
Date: Wed, 10 Mar 2021 05:49:00 GMT
Origin:此字段必选,表示请求消息所属源,上例中请求来源于“http://www.cors.com",API网关/后端服务根据这个值,决定是否同意本次请求。
后端服务返回响应消息:
HTTP/1.1 200 OK
Date: Wed, 10 Mar 2021 03:35:01 GMT
Content-Length: 3
Content-Type: text/plain; charset=utf-8
OK
API网关响应消息:
HTTP/1.1 200 OK
Access-Control-Allow-Origin: *
Content-Length: 3
Content-Type: text/plain; charset=utf-8
Date: Wed, 10 Mar 2021 03:33:24 GMT
Server: KCGW
X-Api-Proxy-Latency: 0.65
X-Api-Requestid: 7780097b-af0a-4b36-8e21-8c8438276ec5
X-Api-Upstream-Latency: 1
Access-Control-Allow-Origin:此字段必选,“*”表示API网关接受任意域的请求。
场景二:
已开启CORS,且后端服务响应消息中指定跨域头时,后端服务响应的跨域头将覆盖API网关增加的跨域头,示例如下:
浏览器发送一个带Origin字段的请求消息:
GET /test/cors HTTP/1.1
Host: www.example.com
Orgin: http://www.cors.com
Content-Type: application/x-www-form-urlencoded; charset=utf-8
Accept: application/json
Date: Wed, 10 Mar 2021 05:49:00 GMT
Origin:此字段必选,表示请求消息所属源,上例中请求来源于“http://www.cors.com”,API网关/后端服务根据这个值,决定是否同意本次请求。
后端服务返回响应消息:
HTTP/1.1 200 OK
Access-Control-Allow-Origin: http://www.cors.com
Date: Wed, 10 Mar 2021 03:38:29 GMT
Content-Length: 3
Content-Type: text/plain; charset=utf-8
OK
Access-Control-Allow-Origin:表示后端服务接受“http://www.cors.com”的请求。
API网关响应消息:
HTTP/1.1 200 OK
Access-Control-Allow-Origin: http://www.cors.com
Content-Length: 3
Content-Type: text/plain; charset=utf-8
Date: Wed, 10 Mar 2021 03:39:21 GMT
Server: KCGW
X-Api-Proxy-Latency: 1.13
X-Api-Requestid: 4761b6df-c8e2-4db6-aa65-c70cd4d57c82
X-Api-Upstream-Latency: 1
OK
后端服务响应消息中的跨域头覆盖API网关响应消息中的跨域头。
4 非简单请求
浏览器发送“Method”为“OPTIONS”的API请求:
OPTIONS /HTTP/1.1
User-Agent: curl/7.29.0
Host: localhost
Accept: */*
Origin: http://www.cors.com
Access-Control-Request-Method: PUT
Origin:此字段必选,表示请求消息所属源。
Access-Control-Request-Method:此字段必选,表示请求会使用哪些HTTP请求方法。
Access-Control-Request-Hea
API发布者操作指南 -- ⑥开启跨域访问
声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。如若本站内容侵犯了原著者的合法权益,可联系本站删除。



