SHOULD use POST for expensive queries?

Folks,

Mark Baker suggests [1] that we should add a SHOULD requirement that  
queryHttpPost binding should be used "where the cost of processing  
the query may be prohibitive". I don't really agree with this, since  
there's no way to no statically which are the expensive and which are  
the cheap queries. Even very sophisticated query analysis can't tell  
you which RDF datasets are expensive to assemble.

And, further, I don't know of any way to programmatically redirect  
expensive GETs to POSTs (you can send a Location: header to the POST  
endpoint, if it's different from the GET endpoint, but I don't think  
that *really* suffices; alternately, we could define a WSDL fault,  
UsePost, but that seems an awful kludge), and I don't really see the  
*point* of doing so either, since if the query is too expensive, it's  
too expensive, whether it comes in via GET or POST.

Mark retorts [2] that the "safety" of GET includes expensive  
operations, citing some message from Roy Fielding, but I think the  
message undercuts Mark's use of it, since it's very clearly about  
implementations of services, not about the semantics of their  
interfaces.

Pat +1'd the proposal, but that was before further discussion, so I'm  
not certain where he would be now. I'm opposed to the inclusion that  
Baker suggests, for the reasons I've stated, but I will leave it to  
the WG to decide.

Cheers,
Kendall Clark

[1] http://lists.w3.org/Archives/Public/public-rdf-dawg-comments/ 
2006Jan/0094.html
[2] http://lists.w3.org/Archives/Public/public-rdf-dawg-comments/ 
2006Jan/0111.html

Received on Wednesday, 18 January 2006 14:55:14 UTC