从 sap-context-token 到十天缓存,彻底理解 SAP Gateway 的 ICM Caching 机制

发布时间:2026/8/12 16:00:05
从 sap-context-token 到十天缓存,彻底理解 SAP Gateway 的 ICM Caching 机制 今天在研究 SAP Gateway Foundation 的$metadata请求时,有一个很容易被忽略的细节。普通的$metadata请求看起来只是返回一份 OData 服务模型描述,可一旦请求 URI 后面增加sap-context-token,SAP Gateway Runtime 对这个请求的处理方式就发生了明显变化。系统不仅会检查这个 token,还会在满足条件时主动给 HTTP 响应增加一组缓存相关的 Header,使这份 metadata 可以进入 ICM 缓存体系。SAP 当前的官方文档仍然明确描述了这一机制。对于携带 context token 的$metadata请求,Runtime 会检查 token 是否属于合法时间戳,并确认这个时间戳不存在不合理的未来时间问题。条件满足以后,响应会携带三个缓存相关 Header,缓存有效时间是十天。原始响应头如下cache-control = max-age=864000 sap-cache-control = +864000 sap-cache-agent = 0对应的请求 URI 如下sap/opu/odata/IWBEP/TEA_TEST_APPLICATION/$metadata?sap-context-token=20160718145359这里最值得研究的并不是