Azure 门户、开发人员门户和 Postman 之间的 APIM 响应标头不同
Posted
技术标签:
【中文标题】Azure 门户、开发人员门户和 Postman 之间的 APIM 响应标头不同【英文标题】:APIM Response Headers Different Between Azure Portal, Developer Portal and Postman 【发布时间】:2019-07-17 03:15:48 【问题描述】:我正在学习 Azure API 管理,发现 Azure 门户、开发者门户和 Postman 之间的响应标头不同。
我正在此端点上执行 HTTP Get: https://secondattempt.azure-api.net/speakers
使用https://conferenceapi.azurewebsites.net/ 作为 Web 服务 URL。
我在这里比较了它们:
Azure 门户:
-
缓存控制
编译指示
传输编码
内容类型
过期
Set-Cookie (不存在)
日期
Op-Apim-Trace-Location
变化
开发者门户:
-
缓存控制
编译指示
传输编码
内容类型
过期
设置 Cookie
日期
Ocp-Apim-Trace-Location
变化(不存在)
邮递员:
-
缓存控制
编译指示
传输编码
内容类型
过期
设置 Cookie
日期
Ocp-Apim-Trace-Location (不存在)
变化(不存在)
以下是它们在 UI 中的实际外观:
Azure 门户:
开发者门户:
邮递员:
为什么某些标头存在于某些环境中而其他环境中不存在?
另外,为什么标题以不同的顺序出现?
【问题讨论】:
【参考方案1】:对于邮递员(Ocp-Apim-Trace-Location 不存在)
OCP-Apim-Trace 功能使您能够指定 APIM 是否应在 blob 存储上生成跟踪文件。
从 Postman 发出 GET 请求时,OCP-Apim-Trace 未启用。
例如,在 Postman 中将标头设置为“true”,将在响应中返回一个名为 OCP-Apim-Trace-Location 的 HTTP 标头。
这将包含您的跟踪文件的 URL,您可以在任何浏览器中打开该文件。
对于 Postman 和 Developer 门户(不重新发送)
请求未缓存。对 URL 的每个请求都应该被视为唯一且不可缓存的请求。
对于 Azure 门户(Set-Cookie 不存在)
查看 Trace 然后转发请求,我们确实看到了 "name": "Set-Cookie", "value": "ARRAffinity
【讨论】:
以上是关于Azure 门户、开发人员门户和 Postman 之间的 APIM 响应标头不同的主要内容,如果未能解决你的问题,请参考以下文章
在 Azure API 管理中查看已发布的无隐私浏览模式的开发者门户