Why not HTTP-GET?
| July 18, 2005 @ 2:24 pm | Filed under Web Services |
I have been doing more searching for information on REST as well as WS-* standards in order to get a good grasp on the two and to see if new layers are needed to implement the WS-* standards instead of using HTTP. I came across an entry by Don Box that was in response to an entry Phil Windley posted on his blog.
In his entry, Don talks about some of the issues of why HTTP may not work and why we need WS-MetadataExchange. Here is what he says:
It’s tempting to just use HTTP GET with query string hackery. In fact, this is exactly what we did in V1 (ASMX).
However, here are a few issues with that approach:
- To date, we’ve avoided telling people how to form their URI. We’d like to keep it that way if possible.
- Not all services will support HTTP. In Indigo, it’s common to expose an endpoint that only listens over IPC or SOAP-over-TCP.
- We wanted metadata retrieval to compose with things like WS-Security.
- We wanted to have one discoverable mechanism that would scale to arbitrary forms of metadata. In its simplest form, a MEX reply enumerates all of the supported metadata formats a given endpoint supports. For people building generic inspection/diagnostics/management tools, this is pure goodness.
Okay, so number one, don’t you have to tell people how to form something whether it be a URI or some XML file? I’ve been looking at all these specifications and I have found that I am being told how to form XML documents. Am I missing something here?
“Not all services will support HTTP.” Why now? Why didn’t they support HTTP to begin with instead of come up with these other transport layers?
Why can’t WS-Security be done in a way that these standards can be done over HTTP?
The last line in Don’s post he says, “Using plain-old-HTTP-GET isn’t a bad solution — It just doesn’t always work”. I have seen a couple of places where it says HTTP-GET won’t always work but how come I never see anyone say why? Maybe I am just new to web services and still have a lot to learn but at least this is a start.
Technorati Tags: webServices