【问题标题】:Does SOAP request and response travel as serialized object over HTTPSOAP 请求和响应是否作为序列化对象通过 HTTP 传输
【发布时间】:2013-11-20 19:06:30
【问题描述】:

我试图找出为什么 SOAP 比 REST 更重。? SOAP 请求和响应是否总是作为序列化对象通过 HTTP 传输。

REST 在传输过程中是否涉及任何序列化概念?

在服务中,即使我们发送了 Object,REST framework 也会转换成我们在 @Produces 中告诉的格式,然后再转到 HTTP?

【问题讨论】:

  • 我不明白您所说的“通过 HTTP 序列化对象”是什么意思。就其本质而言,消息传递涉及某种序列化,无论是内存到 XML 序列化、内存到 JSON 序列化还是内存到 base64 编码字节序列化。所以 REST 和 SOAP 都涉及某种序列化。

标签: java http rest serialization soap


【解决方案1】:

SOAP 被认为比 REST 重的原因有两个。 SOAP 需要一个扩展的 XML 信封来容纳 REST 服务通常通过查询字符串或常规 HTTP 发布获取参数的所有参数。

此外,来自 REST 服务的响应通常是(尽管不总是)JSON。 SOAP 服务以非常冗长的 XML 响应。似乎普遍认为 SOAP 更重量级的原因是额外的数据以 XML 标记的形式通过网络传输。

【讨论】:

  • 序列化、反序列化怎么样? REST 是否都发送序列化对象?或者在服务器本身,它被转换为 JSON 或 XML 指定的格式。?
  • REST/SOAP 基本上只是一个传输层。一旦它到达服务器,它实际上将是依赖于反序列化形式的实现。 JSON 在通过网络传输时往往比 XML 小,因为 XML 是“自我描述的”,这意味着您有很多额外的数据(即标签)。
猜你喜欢
  • 1970-01-01
  • 2016-08-13
  • 2019-10-19
  • 2015-01-19
  • 1970-01-01
  • 2011-09-06
  • 1970-01-01
  • 2016-12-10
  • 1970-01-01
相关资源
最近更新 更多