- From: John Franks <john@math.nwu.edu>
- Date: Wed, 6 Sep 1995 22:25:59 -0500 (CDT)
- To: Paul Leach <paulle@microsoft.com>
- Cc: http-wg%cuckoo.hpl.hp.com@hplb.hpl.hp.com
According to Paul Leach: > > Roy says: > ] > ] Just as an informational point, I already included these semantics > ] in draft 01 for the "max-age" (now Cache-Control: max-age=NNN) parameter. > > In general, how is > Expires: now+T > different than > Cache-Control: max-age=T > > (Modulo clock skew issues, which Jeff has sugegsted a way to fix.) > 1. Cache-Control: max-age=T is much easier to implement at both ends. 2. The clock skew problem never arises with Cache-Control: max-age=T. The extra complexity of "fixing" it may be unnecessary. 3. The meaning of Cache-Control: max-age=T is much clearer to people who have never read the protocol. A final word on this last point. The HTTP protocol can presumably legally define any header to have any semantics. But we need to keep in mind that most Expires headers (and most Cache-Control headers in the future) are set by server maintainers. The fraction of server maintainers who ever have or ever will read the protocol is negligible. The chances that the typical maintainer will figure out that "Expires: <yesterday>" is intended to mean "Cache-Control:max-age=0" seems to me to be nil. Of course, we can self-righteously say, "Too bad for them; they should read the protocol." But isn't it better to select headers which, insofar as possible, are suggestive of their semantics? John Franks
Received on Wednesday, 6 September 1995 20:27:37 UTC