Squid and Netscape Entreprise Server

From: Charles Bruneteau <charles.bruneteau.sysicom@dont-contact.us>
Date: Tue, 21 Dec 1999 11:29:07 +0100

Hi,

Some time ago i touched on a problem between Squid and Netscape Entreprise
Server (NES). Here is a brief recall :
        
        If you configure cache control directives in NES, the suitable HTTP headers
(ex: Cache-control: "max-age=86400") are sent if NES is questioned with
HTTP/1.1, but not with HTTP/1.0.

        As Squid announces itself with HTTP/1.0, anyone going throuh a Squid proxy to
access a NES may receive out of date objets.

i've just received the Netscape anwser : they will not do any modification to
NES since it's already compliant to the HTTP/1.1 RFC.

And yes the RFC 2145 says :

-------------------------------------------------
2 HTTP version numbers

         It is, and has always been, the explicit intent of the
      HTTP specification that an implementation receiving a message
      header that it does not understand MUST ignore that header. (The
      word "ignore" has a special meaning for proxies; see section 2.1
      below.)

      One consequence of these rules is that an HTTP/1.1 message sent to an
      HTTP/1.0 recipient (or a recipient whose version is unknown) MUST be
      constructed so that it remains a valid HTTP/1.0 message when all
      headers not defined in the HTTP/1.0 specification [1] are removed.
...

2.2 Compatibility between minor versions of the same major version
 
   An implementation of HTTP/x.b sending a message to a recipient whose
   version is known to be HTTP/x.a, a < b, MAY send a header that is not
   defined in the specification for HTTP/x.a. For example, an HTTP/1.1
   server may send a "Cache-control" header to an HTTP/1.0 client; this
   may be useful if the immediate recipient is an HTTP/1.0 proxy, but
   the ultimate recipient is an HTTP/1.1 client.
 
   An implementation of HTTP/x.b sending a message to a recipient whose
   version is known to be HTTP/x.a, a < b, MUST NOT depend on the
   recipient understanding a header not defined in the specification for
   HTTP/x.a. For example, HTTP/1.0 clients cannot be expected to
   understand chunked encodings, and so an HTTP/1.1 server must never
   send "Transfer-Encoding: chunked" in response to an HTTP/1.0 request.
------------------------------------------------

Therefore NES doesn't have to send these headers (when receiving a HTTP/1.0
request) to be compliant.

Off course this behaviour is bothering us, and i guesss any webmaster or
publisher on NES should be concerned.

It is very tough to impose the use of proxy caches, and now our webmasters are
no longer able to control the time-to-live of their ojbects in the cache...

I wonder what is the proportion of squid among all proxies used to access the
internet ?

What can we do ? when my boss will know Netscape answer, i'm afraid we will have
to say bye bye to squid !

Charles Bruneteau
Received on Tue Dec 21 1999 - 03:38:43 MST

This archive was generated by hypermail pre-2.1.9 : Tue Dec 09 2003 - 16:50:03 MST