- From: Henrik Frystyk Nielsen <henrikn@microsoft.com>
- Date: Mon, 7 May 2001 08:24:04 -0700
- To: "Hugo Haas" <hugo@w3.org>
- Cc: "XML Protocol Comments" <xml-dist-app@w3.org>
- Message-ID: <79107D208BA38C45A4E45F62673A434D0297CBE1@red-msg-07.redmond.corp.microsoft.com>
>* Noah Mendelsohn <Noah_Mendelsohn@lotus.com> [2001-05-04 17:16-0400] >> Just to be clear, although I am indeed intrigued regarding the >> possibility >> of encoding a SOAP request in a URI, probably in conjunction with an HTTP >> GET, it probably would be at best only sometimes be the right thing to do. >> In other words, an alternate HTTP binding, or maybe an option on the core >> binding. Also: I saw a discussion a few weeks ago among some URI experts >> who pointed out that long URI's are somewhere between discouraged and >> forbidden. I think that's really too bad based on the (0, 1, arbitray) >> view of limits, but there it is. Neither HTTP nor URIs of course enforce any rules on how long URIs can be but implementations often inflict limitations. However, HTTP applications these days should support in the order of 4-8k URIs which give some leeway. >1/ In HTTP, anything which does not have side-effects must use >GET. If I am using a service which tells me the temperature >in Tokyo, I might want to use an HTTP GET request for this >request, send my friends the URI so that they can get the >same information, and get (HTTP) caching for free, since it >is likely to be the same 5 minutes later. Yes, GET in HTTP is special - it is not just another method. >I am not really sure how we would encode a SOAP request into >the query component of the URI without ending with a 2 >page-long URI, as Noah pointed out. Whether this would be an >issue, I don't know. I would appreciate a pointer on the >discussion about the length of URIs. This will also cause problems with XMLQuery >Note that HTTP POST requests[2] can also be cached: > > Responses to this method are not cacheable, unless the response > includes appropriate Cache-Control or Expires header fields. > However, In fact this is wrong and I know confusing. In HTTP, one can only cache GET (and HEAD as HEAD is a special case of GET with byte ranges). >In any case, either we find a way to do so, or we will need to >talk to Tim about this part of the Web architecture document[1]. I don't think there are any particular problems understanding these issues but I think we should keep in mind that HTTP was designed to do a certain thing and do it well - and that is GET. With SOAP we are talking building on the experience that we have with HTTP and to use a new framework which is XML rather than RFC 822 style header fields. As such there will always be conflicts between what one can do with HTTP and what one can do with SOAP. In fact, I would not get too hung up about the HTTP binding - SOAP is deliberately designed *not* to depend on HTTP and rather than spending our time trying to retrofit SOAP into HTTP in ways that are not natural, I would suggest that we keep in mind that there are other ways of exchanging SOAP messages that are likely to be much better fits. Henrik
Received on Monday, 7 May 2001 11:26:12 UTC