在 REST API 中,响应中的某些额外信息放置在 HTTP 标头中。例如,当 API 具有速率限制时,响应可能在标头中具有X-RateLimit-Limit
。这是非常直接的。
但是,在 SOAP 1.1/1.2 Web 服务 API 中执行相同操作的等效性或约定是什么?
使用与X-RateLimit-Limit
相同的示例,是否应该像在 REST API 中一样将信息添加到 SOAP 响应的 HTTP 标头中?
SOAP1.1 / SOAP1.2
而言,没有明确的guidelines
定义与rate-limits
有关。
SOAP 标头包含与 SOAP 消息相关的应用程序特定信息。它们通常包含路由信息、身份验证信息、事务语义等。这些特定于 SOAP 消息,并且独立于 SOAP 使用的传输(在本文的范围内:HTTP)。
HTTP标头定义了 HTTP 事务的操作参数,例如要传输的内容的内容类型、内容长度、客户端或代理的缓存指令等。这些是特定于HTTP的,并且独立于实际使用HTTP传输的内容(在本例中为SOAP XML)。
使用与 X-RateLimit-limit 相同的示例,是否应该像在 REST API 中一样将信息添加到 SOAP 响应的 HTTP 标头中?
HTTP 标头通常停止在 Web 服务器上,不应该转到应用程序,如果我们应用此逻辑,那么我们可以得出结论,rate-limit
应该由web-server
或API gateway
而不是application
来处理。 此外,对于SOAP
和REST
服务,rate-limit
应该以相同的方式处理,而不是以不同的方式处理。像content-type
一样,content-length
、encoding
等通常是HTTP
标头,而不是SOAP
标头。
因此,x-rate-limits
应该是HTTP header
的一部分。
我想举一个来自Docusign
SOAP service
的相同 HTTP 标头的示例,它以HTTP Header
发送X-rate-limit
标头。
我不认为,这个问题可以有非常明确的答案,但我希望,我涵盖了一些可以帮助他人的指示。