Alex Kemp - 2007-10-08 07:26:07
Following a message from Nikita U. (see reply to first post) Conteg has been re-coded to be fully compliant in it's use of the Vary Response header. In addition, it is possible to switch use of that header off, so that it will never be sent (just like the W3C site).
See http://forums.modem-help.co.uk/viewtopic.php?p=1236 for more detailed info, and links to download it from my site.
Here are extracts from the comments, plus Changelog (sorry for the lousy formatting that these forums allow):
* Vary headers:
* By default, a `Vary ' header is sent if the response suffers any form of Content negotiation.
* By default, the response is negotiated for `Accept-Encoding', and this is itself varied by User-Agent.
* Thus, by default a `Vary: User-Agent, Accept-Encoding' header will ALWAYS be sent. This behaviour is
* controlled by the Constructor setup() parameters:
*
* 'use_accept' => FALSE
* 'use_accept_charset' => FALSE
* 'use_accept_encode' => TRUE
* 'use_accept_lang' => FALSE
* 'use_user_agent' => TRUE
* 'use_vary' => TRUE
*
* Setting `use_vary' to FALSE will prevent any `Vary' headers from being sent.
* Setting any other of the parameters above to `FALSE' will switch off Content Negotiation for that
* specific Request header, although the value of the header is still reported.
*
* Important note: MSIE 4.x throws a (false) error message with Vary headers.
* MSIE 5 + 6 will refuse to cache content (no 304s) for any except `Vary: User-Agent'.
* (see also http://forums.modem-help.co.uk/viewtopic.php?p=1236)
* Change Log:
* 0.13.5: Bugfix: use of `Vary:' header made compliant; added 08 Oct 07
* +$_noUserAgent, $_noVary + setup() parameters 'use_user_agent'
* +'use_vary' (both TRUE by default).
* 0.13.4: Bugfix: _initRequest() for non-std Q-values 07 Sep 07
* 0.13.3: Bugfix: removed duplicate $if_match declaration; added 07 Jul 07
* +$file + $line to headers_sent() for better bug-catching.
* 0.13.2: Bugfixes to charsetAccepted() + mediaTypeAccepted() 30 Apr 07
* 0.13.1: Added 'cpu_number' to Constructor parameter ($_num_cpu) 05 Mar 07
* +bugfix for $referer (['uri'] not included in array)
* 0.13: Added $referer, getReferer(), '404_to_410', $_no410, 18 Feb 07
* +'http_status', $_httpStatus, 'msie_error_fix',
* +$_noMSErrorFix + sendStatusHeader() bugfix.
* See also http://forums.modem-help.co.uk/viewtopic.php?t=670