Appendix B. The HTTP You Need for XML-RPC

Instead of creating an entirely new transport protocol, XML-RPC avoids reinventing the wheel by reusing a commonly available wheel: HyperText Transfer Protocol (HTTP). HTTP is better known as the transport protocol for the World Wide Web (WWW), and HTTP tools are available for nearly every network-aware programming language and operating system. XML-RPC uses only a subset of HTTP’s features, but even the use of that subset has proven controversial in some quarters. We’ll explore how HTTP works in general, and then focus on the details you need to create, read, and analyze HTTP transactions.

By using HTTP for its transport mechanism, XML-RPC takes advantage of nearly a decade of protocol development and implementation. HTTP is widely deployed, relatively well understood, and supported by infrastructures from clients to servers to firewalls to cache engines, though some of that support isn’t necessary for XML-RPC. XML-RPC arrived after HTTP 1.1 had stabilized, letting it take advantage of some critical features for two-way communications that hadn’t existed in earlier versions. We’ll take a brief look at HTTP in its normal web environment before exploring ways to reuse that infrastructure in an XML-RPC context.

A Bit About TCP/IP

HTTP is built on a foundation of the Transmission Control Protocol and Internet Protocol (TCP/IP). Although it is the protocol suite on which the Internet and many smaller networks are built, TCP/IP often seems mysterious, ...

Get Programming Web Services with XML-RPC now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.