Lists Home |
Date Index |
On Tuesday 26 February 2002 20:55, Simon St.Laurent wrote:
> "What makes HTTP significantly different from RPC is that the requests
> are directed to resources using a generic interface with standard
> semantics that can be interpreted by intermediaries almost as well as by
> the machines that originate services."
> That's called redefining something in order to prove that you are not
> it. It's a nice rhetorical trick, and useful with people who already
> believe your definitions, but I don't think Fielding escapes all claims
> that the HTTP protocol is itself RPC.
I would be inclined to agree with Simon here... CORBA's IIOP, RMI, and good
'ole ONC RPC can all be described as 'requests directed to resources using a
generic interface with standard semantics that can be interpreted by
intermediaries almost as well as by the machines that originate services" :-)
There are CORBA/RMI/ONCRPC proxies and gateways and debugging tools and so
The one thing that HTTP has and most RPC protocols lack is that there is a
way of flagging a request as being cacheable (making it a GET), and it's not
even that well done in HTTP.
I'm designing an RPC protocol that has better caching than HTTP. Service
providers can even 'prefill' the cache by filling a table with what most
people would call 'static content', which the underlying server
implementation might use to broadcast out information by satellite to
worldwide caches, Akamai-style...
Cache entries contain patterns that might match lots of different possible
requests and return the same response. This is like responding to an HTTP GET
with (in a header) a regular expression matching other URLs that should
return the same response. This is handy for situations like the use of image
buttons in HTML GET forms; it causes two extra parameters, 'x' and 'y',
recording the exact position the user clicked in the button to be passed -
and screws up caching based upon URL alone.
Alaric B. Snell
http://www.alaric-snell.com/ http://RFC.net/ http://www.warhead.org.uk/
Any sufficiently advanced technology can be emulated in software