Re: GET / HEAD / OPTIONS

Bjoern Hoehrmann wrote:
> I store a very big file on A and want to delete it through an interface
> on B. This will work if A sends the right headers on an access check,
> but the very big file would be transmitted in full during the check. You
> would have to additionally detect the access check request and truncate
> the response and set the right caching headers all the time to avoid it.
> So yes there is a choice, but the default is sending a big response.


This describes the problem some of us have with the design very nicely.
My understanding is that the WG has the following issues in mind:

* Incomplete HTTP implementations regarding HEAD and/or OPTIONS
* Cases where the response body matters (XML PIs)
* Addressing the above in a simple design without delaying for six 
months or more before a CR

My (perhaps unfair) impression is that the "just GET" design is an 
oversimplification. Furthermore, it restricts future implementors and 
users from more efficient configurations in production environments that 
allow it or, worse even, require it. Supposing a case where:

* there is no need for XML PIs
* large files are frequent
* the server supports  HTTP properly
* the app is critical

Why should a pointlessly resource intensive spec implementation be one 
of the main architecture issues?

IMHO a "MAY" for HEAD or OPTIONS can be added without too many 
implications when compared to adopting the above.  Handling a 501 or an 
incomplete response with an additional GET is not that difficult to do 
and probably less expensive than a single blind GET in most cases. Why 
should the implementation be blind in the first place?

Proper HTTP implementations should not be fined for those that are 
incomplete. The response body may not be of interest to all. Bandwidth, 
CPUs and RAM are expensive. A system that blindly works is useless to 
people that charge a lot for configuration, deployment and efficient 
operation in production :-)

Kindest regards,

Manos



-- 
Manos Batsis, Chief Technologist
          __    _
   ____ _/ /_  (_)_________ ____ ______
  / __ `/ __ \/ / ___/ ___// __ `/ ___/
/ /_/ / /_/ / (__  |__  )/ /_/ / /
\__,_/_.___/_/____/____(_)__, /_/
                         /____/

5, Daphnidos Street,
14122, Neo Iraklio,
Athens, Greece

Tel: +30 210 2851517
Mob: +30 694 8376942

http://dev.abiss.gr

"BSD code is free code to be used in software. GPL code is code to be 
used in free software." Kjella (173770), Slashdot

Received on Saturday, 5 January 2008 18:22:19 UTC