Web服务中http和soap的功能是什么?

时间:2010-06-20 15:07:35

标签: asp.net web-services

有人可以用简单的方式解释Web服务中http和soap究竟发生了什么。 我正在经历http://vijaybalajithecitizen.blogspot.com/2008/11/aspnet-web-services-interview-questions.html ,它描述了肥皂,但http怎么样,它们之间有什么关系 当我从asp.net应用程序调用webmethod时,它是一个soap / http调用...它是如何返回值的。 如何检测它是否是肥皂/ http电话?

2 个答案:

答案 0 :(得分:0)

HTTP是用于承载SOAP格式有效负载的传输。您也可以使用TCP来传输SOAP,或者其他任何可能让您感兴趣的东西。显然,HTTP是SOAP有效负载的最常见传输,因为这些内容是为基于Web的RPC构建的。

答案 1 :(得分:0)

HTTP是传输机制,SOAP是有效负载协议。 SOAP可以通过其他协议传输,但HTTP是使用最广泛的。这与HTML和HTTP非常相似。 HTTP是传输,HTML是有效负载。您也可以通过电子邮件发送HTML文件,这意味着它不再使用HTTP。

当您调用webmethod(或任何其他Web服务)时,它是一个“SOAP over HTTP”调用。 HTTP包含一个Content-Type标头,设置为“soap + xml”。这让服务器知道包含哪种类型的有效负载,以及如何解析它。不过,我并不确定ASP.NET web方法会对此有所了解。它可能只是尝试将HTTP请求解析为SOAP,如果不解析则会出错。如果您能够在同一网址上支持多种格式,则通常只会检查内容类型。

值在HTTP响应中作为SOAP格式的消息返回。因此,服务器不是发回HTML,而是以SOAP格式发送XML文档。