Re: Web compat and http-equiv

On Tue, 14 Sep 2010, Henri Sivonen wrote:
>
> [<meta http-equiv headers] that are written back to the HTTP layer and 
> have an effect there (e.g. Pragma and Cache-Control)
> 
> In the world view of the HTML5 spec, #4 doesn't exist. While it would be 
> really nice not to support case #4 in Firefox 4 at all (support is 
> currently broken), I'd like to get a bit more data about it first 
> considering that Firefox 3.6 supports case #4.
> 
> I tested browser engine support for Pragma: no-cache. The results depend 
> on the quirkiness of the document. Gecko (in Firefox 3.6) dooms the 
> cache entry in both quirks and standards. WebKit does not take Pragma 
> into account in either mode. Trident and Presto doom the cache entry in 
> their quirks modes but do not take it into account in their standards 
> modes.
> 
> More generally, does anyone have data about which http-equiv values a 
> browser must support to be able to successfully browse existing content? 
> Does the list include more than Refresh, Content-Type, Set-Cookie and 
> maybe Content-Language?

I did some testing also:

   http://www.hixie.ch/tests/adhoc/html/meta/http-equiv/

Firefox: Gecko 2.0b8pre Gecko/20101210 Firefox/4.0b8pre: Doesn't honour a 
meta "Expires":
   http://www.hixie.ch/tests/adhoc/html/meta/http-equiv/006.html
...nor a meta "Pragma: no-cache":
   http://www.hixie.ch/tests/adhoc/html/meta/http-equiv/008.html
(Tests 001..004 aren't useful with Firefox because its Refresh ignores the 
cache, as shown by test 003.)

Opera 10.63: I couldn't get it to honour a real HTTP "Expires" header, so 
I couldn't properly test this:
      http://www.hixie.ch/tests/adhoc/html/meta/http-equiv/007.html

Chrome 9.0.597.0 (Official Build 67679) dev: It seems to ignore meta 
"Pragma" and meta "Expires" headers, in quirks and no-quirks.

Safari Version 5.0 (5533.16, r73490): unsurprisingly, same as Chrome.

IE8: Honours "Expires" and "Pragma", in both quirks and no-quirks.

My results don't match yours in content, but in conclusion they do: 
interoperability is a mess here.

It seems a bit dodgy to put cache-related headers in <meta> tags, since it 
would screw around with caching proxies. On the other hand, there's the 
chance that pages are depending on this feature, since it is supported to 
some extent in IE and previous versions of Firefox.

I'm not really sure what to do about this, but I'm leaning towards doing 
nothing, at least while browsers have poor interoperability, and then in 
due course speccing whatever ends up getting interoperably implemented if 
it differs from what the spec requires.

-- 
Ian Hickson               U+1047E                )\._.,--....,'``.    fL
http://ln.hixie.ch/       U+263A                /,   _.. \   _\  ;`._ ,.
Things that are impossible just take longer.   `._.-(,_..'--(,_..'`-.;.'

Received on Saturday, 11 December 2010 00:10:31 UTC