- From: Koen Holtman <koen@win.tue.nl>
- Date: Tue, 3 Nov 1998 21:48:50 +0100 (MET)
- To: Dave Kristol <dmk@research.bell-labs.com>
- Cc: http-wg@hplb.hpl.hp.com
Dave Kristol: > >Something interesting has come up that's one of: a bug or infelicity in >my server, or a bug or infelicity in Netscape 4.5 > >Netscape 4.5 sends an HTTP/1.0 request with Accept-Encoding: gzip >header. A web site has a paper.ps.Z file, i.e., Content-type: >application/postscript, Content-Encoding: compress. When NS 4.5 tries >to GET the paper, my server returns 406 Not Acceptable, because >"compress" is not one of the accepted encodings. > >There seem to be two (not mutually exclusive) conclusions to draw: > >1) Netscape 4.5 should send Accept-Encoding: gzip, compress, because >gzip (well, the gzip program, anyway) understands the Unix compress >format. Netscape would be allowed to include 'compress' in its Accept-Encoding line, but there is nothing in the spec which says that it should. > >2) My server should not send 406, since it's only a SHOULD requirement >anyway. Or perhaps it should send 406 only for HTTP/1.1 requests. If the above paper is available in ps.Z version only (so we don't have content negotiation in the sense of multiple variants) I would never send a 406. The 1.1 spec says: Note: HTTP/1.1 servers are allowed to return responses which are not acceptable according to the accept headers sent in the request. In some cases, this may even be preferable to sending a 406 response. and your situation is one of the 'some cases'. In your case I would return the document with Content-type: application/x-compress (MIME type from memory, I may be wrong) which will probably result in the end user having to handle the top-level .ps format by hand, but at least it will prevent compressed data from being fed into a postscript helper application. In fact I would say that, given the current installed base and if you are aiming for maximum interoperability, if a server is in the situation of only being able to send .ps.Z, it should always serve it with the above content-type, and never with the content-type/content-encoding values you mention above. If it is going to switch headers on a case by case basis, it should add the appropriate headers to disable proxy caching. Your scenario is really a case where a server has to choose between evils: really fixing the problem involves having the content author change the .ps.Z into .ps, or a choice between .ps and .ps.gz. >Opinions/comments? > >Dave Kristol Koen.
Received on Tuesday, 3 November 1998 12:51:47 UTC