Php 用肥皂洗还是不用肥皂洗?什么对我的Web服务最好?
我需要创建一个web服务,将XML数据返回给我的一些客户端。Php 用肥皂洗还是不用肥皂洗?什么对我的Web服务最好?,php,web-services,soap,Php,Web Services,Soap,我需要创建一个web服务,将XML数据返回给我的一些客户端。 在我为web所做的任何事情中,80%都在谈论使用 我的问题是:任何客户机都可以像普通XML一样读取获取的数据吗? SOAP有替代品吗?REST是SOAP的轻量级替代品。它使用现有的HTTP方法,如GET、POST、PUT、DELETE。从概念上讲,URL标识服务器上的资源,HTTP方法定义要执行的操作 REST是一种体系结构风格,因此在如何实现它方面非常灵活。该体系结构只是一个指导原则,如果应用程序满足RESTWeb服务的定义特征,则
在我为web所做的任何事情中,80%都在谈论使用 我的问题是:任何客户机都可以像普通XML一样读取获取的数据吗?
SOAP有替代品吗?REST是SOAP的轻量级替代品。它使用现有的HTTP方法,如GET、POST、PUT、DELETE。从概念上讲,URL标识服务器上的资源,HTTP方法定义要执行的操作 REST是一种体系结构风格,因此在如何实现它方面非常灵活。该体系结构只是一个指导原则,如果应用程序满足RESTWeb服务的定义特征,则认为它是RESTful的 JSON通常用作传输,而不是XML。其优点是JavaScript可以立即解析JSON,许多服务器端技术都有将JSON反序列化为对象的库。虽然建议使用JSON,但您可以将任何内容类型与REST一起使用,包括XML 有关更多详细信息,请参阅 示例: 获得福特雷鸟的汽车等级
HTTP GET http://example.com/cars/ford/thunderbird/8NUY1234
$.ajax({
url: '/cars/ford/thunderbird/8NUY1234',
type: "GET", /* implicit default, listed for clarity only */
success: function(data) {
alert(JSON.stringify(data) ); /* output json
alert("engine = " + data.engine);
}
});
在集合中插入车辆
HTTP POST http://example.com/cars/ford/f150/?vin=F14564564564&color=blue&engine=I6&...
// insert record on server.
var dataString = "vin=F143567547&color=blue&engine=I6"
$.ajax({
url: '/cars/ford/f150',
data: dataString,
type: "POST",
success: function(data) {
}
});
我得说这在很大程度上取决于你的要求
- JSON是轻量级的,因为它没有XML那么大的开销。如果有很多短键值部分,那么在XML中传输的大部分字节是标记和属性定义,而不是信息数据本身
- JSON非常适合在JavaScript应用程序中使用。然而,大多数编程语言本机支持JSON;其中,流行的语言如PHP或——自Flash 10.2以来——Actionscript 3
- XSD是一种模式定义,您可以在其中定义信息的结构以及客户机对信息的期望。这些可以与名称空间一起使用。许多编程语言(如Java)或框架(如.NET)可以基于此模式自动生成类和对象
- XSL(T)是一种转换语言,它可以将给定的XML转换为能够自动适应客户的文档格式(例如,针对其网站的不同部分的不同HTML片段)
另一方面,Twitter主要处理key=>value信息(如tags=>messages),非常适合RESTAPI。今天,我为自己的站点创建了一个Web服务,用于处理来自jQuery的请求并返回JSON数据。那么,我是否在“不知情”的情况下使用REST?这有点争议,但我相信这可能是RESTful。这取决于您遵循其余文章中的指导原则的数量。简单地说,这个概念非常相似。您基本上是点击一个URL,让服务器根据您使用的HTTP请求方法执行不同的操作。如果您可以通过AJAX调用来检索XML或JSON,那么您就可以编写REST服务了。+1-这是一个非常好的客观答案,突出了SOAP和REST的优缺点。