If the host sent back the type immediately after the client sends
the get, the client could check it's list of accepts to see if
it's an acceptable type, for instance "image/jpeg".
If the type is acceptable, the client responds, "OK
send me the data", otherwise the client says "I don't understand
image/jpeg" but I do understand "image/gif and image/x-xbm".
If the server can deliver those types then he sends the data,
if not then the server may attempt a different sub-group, for
instance "application/x-mac-draw". In each case the client
would only send the accept header of the specified sub-group,
thereby saving the broadcast of a very large group of accepts.
This form of negotiation would also be useful for Authorization,
charge back, etc., since each of them would benifit by not
having to open the connection twice. (currently Authorization
must first be rejected by an authorized server and then retry
with a password)
:lou