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-Headers:此字段可选,表示请求会额外发送的头信息字段。
后端服务返回消息:无
API网关返回消息:
HTTP/1.1 200 OK
Access-Control-Allow-Headers: X-Api-AppKey, X-Api-SignHeaders, X-Api-TimeStamp, X-Api-Signature
Access-Control-Allow-Methods: GET,POST,PUT,DELETE,HEAD,PATCH,OPTIONS
Access-Control-Allow-Origin: *
Access-Control-Expose-Headers: X-Api-RequestID,X-Api-Upstream-Latency,X-Api-Proxy-Latency,X-Api-Upstream-Retry-Times,X-Api-RateLimit-Ip,X-Api-RateLimit-App,X-Api-RateLimit-Api
Content-Length: 3
Content-Type: text/plain; charset=utf-8
Date: Wed, 10 Mar 2021 05:43:54 GMT
Server: KCGW
Access-Control-Max-Age: 86400
X-Api-Proxy-Latency: 0.74
X-Api-Requestid: 5c455fad-a624-4bb1-a0e1-3dd2bf93718c
X-Api-Upstream-Latency: 0
Access-Control-Allow-Origin:此字段必选,“*”表示API网关接受任意域的请求。
Access-Control-Allow-Headers:当请求消息中包含此字段时,此字段必选。表示允许跨域的所有请求头信息字段。
Access-Control-Expose-Headers:表示跨域访问允许查看的返回头信息字段。
Access-Control-Allow-Methods:此字段必选,表示API网关支持的所有HTTP请求方法。
Access-Control-Max-Age:此字段可选,表示本次预检的有效期,单位:秒。在有效期内,无需再次发出预检请求。
浏览器发送一个带Origin字段的请求头:
PUT /test/cors/3 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
后端服务返回消息:
HTTP/1.1 200 OK
Date: Wed, 10 Mar 2021 05:49:00 GMT
Content-Type: application/json
Content-Length: 16
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 05:52:33 GMT
Server: KCGW
X-Api-Proxy-Latency: 0.55
X-Api-Requestid: 6bf10c55-8b63-4ff2-9677-8c837c763fd6
X-Api-Upstream-Latency: 2
OK
API发布者操作指南 -- ⑥开启跨域访问
本文2024-09-23 01:09:42发表“云苍穹知识”栏目。
本文链接:https://wenku.my7c.com/article/kingdee-cangqiong-144159.html
- 鼎捷EAI整合規範文件V3.1.07 (集團).pdf
- 鼎捷OpenAPI應用場景說明_基礎資料.pdf
- 鼎捷OpenAPI應用場景說明_財務管理.pdf
- 鼎捷T100 API設計器使用手冊T100 APIDesigner(V1.0).docx
- 鼎新e-GoB2雲端ERP B2 線上課程E6-2應付票據整批郵寄 領取.pdf
- 鼎新e-GoB2雲端ERP B2 線上課程A4使用者建立權限設定.pdf
- 鼎新e-GoB2雲端ERP B2 線上課程C3會計開帳與會計傳票.pdf
- 鼎新e-GoB2雲端ERP B2 線上課程E6-1應付票據.pdf
- 鼎新e-GoB2雲端ERP B2 線上課程A5-1進銷存參數設定(初階篇).pdf
- 鼎新e-GoB2雲端ERP B2 線上課程D2帳款開帳與票據開帳.pdf