[Biojava-l] Semantics of "Accept-Encoding" in HTTP
David Huen
smh1008@cus.cam.ac.uk
Wed, 18 Jul 2001 23:15:18 +0100 (BST)
I'm attempting to incorporate compression into Dazzle and I have been
attempting to work out the semantics of the request property
"Accept-Encoding" to implement the implement the encoding negotiations.
To quote the IETF 2068,
"If no Accept-encoding header is present in a request, the server MAY
assume that the client will accept any content coding. If an
Accept-Encoding header is present, and if the server cannot send a
response which is acceptable according to the Accept-Encoding header, then
this server SHOULD send an error response with the 406 (Not Acceptable)
status code."
It seems to me that I can't indicate the situation where I would like
to have compression (for example gzip) but am prepared to accept unencoded
responses. If I use "Accept-Encoding: gzip" and it doesn't have it why is
the 406 response recommended rather returning just unencoded data? So a
compression-incapable client should refuse to to service such a query
rather than provide unencoded data?
Alternatively, if I don't use such an "Accept-Encoding", I am allegedly
permitted to return any encoding? It seems bizaare! How can these
semantics be right? So as compression-capable DAS server getting a query
from a client without such a property, I can send e.g. gzipped
responses?
Where have I misunderstood this? Surely the negotiation can't possibly be
this bizaare?
Thanks,
David Huen. Dept. of Genetics, U.K.