[webkit-dev] Safari & Correctly Setting No-Cache via HTML
Richard Glaser
richard at scl.utah.edu
Thu Nov 1 22:48:20 PDT 2007
Hello Brian:
Ok, this is really off-topic, but maybe someone has info on setting
JBoss 3.0 to add attributes to the HTTP header for no-cache with Safari.
Here is feedback for a developer for our ARC system using Horizon,
which we are using Safari, but works fine with FireFox & IE.
> Hi Gents,
>
> OK, so the Safari FAQ is saying the controls have to be in the HTTP
> message headers. Sheesh. Why would you choose to ignore meta tags?
> What that means is that anyone doing their own HTML is stuck with
> whatever their server is telling people and they can't choose to
> control caching on a doc-by-doc basis (which seems like a silly
> limitation to me).
>
> I think we've reached a position where I've done what I can and
> someone's going to have to make a decision about how to proceed,
> unless there's some global setting on JBoss (we're talking 3.0 here)
> that would allow us to add some attributes to the HTTP header, as
> opposed to the HTML document that is returned. I'm afraid I'm not in
> a position to try to research anything about JBoss, but I'll take a
> cursory look and see if anything jumps out at me.
>
> My personal suggestion, at this point, would be to put Firefox on
> the Macs.
On Nov 1, 2007, at 8:19 PM, Brian Campbell wrote:
> On Nov 1, 2007, at 8:23 PM, Richard Glaser wrote:
>
>> We found this info...
>>
>>> Safari supports server-side caching directives... not the meta tag
>>>
>>> Check out number five on my FAQ -http://developer.apple.com/internet/safari/faq.html#anchor5
>>
>> Why?
>>
>> Why does only support server-side caching directives when it
>> appears other browsers like FireFox, IE support meta tag. Seems
>> like this will cause many backend systems to not support Safari
>> since it market share is 5% and probably many assume it works since
>> it works in Firefox & IE and probably can't justify development
>> development time for it.
>
> I am not a Safari developer, and only a very occasional WebKit
> contributor, so I can't answer this directly, but I seem to recall
> that Safari generally trusts HTTP headers over HTML META tags. One
> reason may be that, according to the HTML 4.01 spec, the *web
> server* is supposed to translate META HTTP-EQUIV tags to HTTP
> headers, not the client.
>
> Caching directives don't matter only to the browser, they matter to
> any caching proxy server between the user and developer of the
> application. Many caching proxy servers may only ever look at the
> headers, never looking at the content, because they are designed to
> support the HTTP protocol, not HTML. So if you are having trouble
> with the META tags in Safari, it means that you might also have
> trouble with aggressive caching proxy servers (I happen to be behind
> one at work, so I've really had to make sure that things like our
> auto-updater weren't thwarted by the caching proxy server). If
> you're just doing this for kiosks, you might be able to avoid that
> issue, but in general, you can't trust META HTTP-EQUIV tags will be
> interpreted properly no matter what browser you're using, because
> the proxies may cache even if the browser doesn't.
>
> It should be possible in whatever tool you're using to set HTTP
> headers on the content thats going out. If you can't set it
> programmatically in the set of pages you want to, most web servers
> will let you specify headers on a per-directory basis in their
> configuration. If you can't do even that, you could put the
> webserver behind a simple proxy that just replaces the headers you
> are interested in. Apache and lighttpd are both free webservers that
> can be configured in a proxying mode that will rewrite the HTTP
> headers appropriately.
>
>> We probably will file a bug (feature request) on this.
Thanks,
Richard Glaser
University of Utah - Student Computing Labs
More information about the webkit-dev
mailing list