XML-RPC
晚上花了一段时间学习了一下XML-RPC,简单的说,就是在Internet上实现远程的方法调用的一种规范和实现。其实这种规范可真是不能算少,DCOM、CORBA、SOAP、RMI,那么XML-RPC有啥优势呢?
"Does distributed computing have to be any harder than this? I don’t think so." — Byte.
一图剩千言,这张图很好的说明了XML-RPC的工作原理。
总结一下,XML-RPC是用XML来做Web服务的鼻祖,是一套实现跨Internet过程调用的规范和实现。它利用HTTP作为传输协议,使用XML作为消息请求的传输主体。XML-RPC以一个消息体为XML格式的HTTP POST请求发送给服务器,服务器执行后将执行结果再以XML格式返回。比起DCOM、CORBA、SOAP,它的优点主要是:
1)简单、轻量级;
2)XML编码,可读性增强,同时也便于手工修改;
3)利用HTTP传输,方便的穿透防火墙(80端口),便于使用SSL加密等。
缺点:
1)对字符编码的支持不够,通常用Base64编码来解决中文问题;
2)Datetime数据类型没有时区;
这里有一个最简单的例子,如果想看真实的例子就看看Bloger中的例子(比如发布文章的API规范)。
最后附上XML-RPC的规范。
对了,XML-RPC的作者是Dave Winer,他也是RSS0.92、RSS2.0(关于RSS的各种版本的历时可以看这篇文章)、OPML的作者。
参考资料:
XML-RPC vs. SOAP – kate rhodes
XML-How to – Eric Kidd
Popularity: 25% [?]
Related entries:

July 17th, 2005 at 10:02 pm
[...] 这个是用来在发布每篇帖子的时候发送XML-RPC Ping的。再比如: [...]
October 3rd, 2007 at 2:26 am
[...] 这个是用来在发布每篇帖子的时候发送XML-RPC Ping的。再比如: [...]
January 6th, 2008 at 9:57 pm
[...] 这个是用来在发布每篇帖子的时候发送XML-RPC Ping的。再比如: [...]
March 27th, 2008 at 10:59 am
[...] 这个是用来在发布每篇帖子的时候发送XML-RPC Ping的。再比如: [...]
January 21st, 2009 at 11:26 pm
[...] 关于XML-RPC的原理可在这篇POST里看到http://www.mengyan.org/blog/archives/2005/07/12/30.html [...]