SOAP头与HTTP头(SOAP headers versus HTTP headers)

2019-07-30 09:08发布

我使用的Web服务上的程序工作,为此,我需要换一些数据作为标题的邮件。

我想问,如果它相当于把这个数据作为SOAP头或HTTP头?

Answer 1:

在SOAP头包含与SOAP消息的应用程序的具体信息。 它们一般含有路由信息,认证信息,事务语义等,这些是特定于SOAP消息和是独立于传输的该SOAP用途(在这篇文章的范围:HTTP)。

HTTP头定义HTTP事务的工作参数,如内容类型的东西是越来越传输,它的内容长度,为客户或代理等,这些都是专门针对HTTP,并独立于什么是真正获取与HTTP传输缓存指令(在这种情况下,SOAP,XML)。

你可以,当然,同时使用HTTP标头或SOAP头提供有关SOAP消息的应用程序的具体信息。 SOAPAction HTTP头是在该方向上为SOAP 1.1的举动。 虽然这是非常有用的服务器有效地路由查找的SOAP XML内而不需要消息(有时是不可能的,如果消息被加密并且只有最终接收机知道如何解密它)它主要是引起混乱和在SOAP 1.2以后删除(并在其位置是一个可选的action的参数application/soap+xml media类型 ,而这又是在HTTP头中的值...噢以及...:d)。

作为结论,SOAP头和HTTP头是不一样的 。 虽然你可以替代使用用户定义的自定义HTTP标头SOAP头一定程度上,它是大多数时候是一个坏主意。

如果数据是Web服务,那么它应该被放置在SOAP头内。 HTTP标头通常是在Web服务器停止,而在它的整体的SOAP消息将被传递到下游,以谁需要的数据(甚至通过多个中间人谁,他们可能还需要它)的最终接收者。



文章来源: SOAP headers versus HTTP headers