Re: Expires, Last-Modified, Pragma: no-cache etc.

On Aug 18, 13:04, Roy Fielding wrote:
>
> Regarding the name "Pragma"
>
>    Yes, it is a bad choice for a protocol element name.
>
> We have two choices:
>
>    1) Change the name to something relevant, e.g., "Caching"
>
>    2) Continue using the same name and simply define the semantics
>       such that it means what we say it means.

I vote for 1), 2) has proved too confusing already. The name will depend on
what you want to achieve:

1) If you want only proxies not to cache, I vote for:
         Proxy: no-cache
  This leaves scope for other proxy-specific directives to be defined
  at a later stage.

2) If you want both proxies and user agents not to cache, you can either do:
         Caching: all=no
         Caching: proxy=no
         Caching: user-agent=no
  or
         Proxy: no-cache
         Expires: now

To choose between these 2, let me quote Shel Kaphan who summarized very well
the 'Pragma: no-cache' vs 'Expires: now' debate on the 16th:

>>The reason Pragma: no-cache is not a redundant way of saying Expires:
>><= now is that it allows servers to send essentially "private"
>>documents to particular clients where these documents need not expire
>>immediately.  If intermediate proxies cannot cache the document (due
>>to Pragma: no-cache) but clients can, this makes for more flexibility
>>at the client end.  The client would not be required to issue a new
>>HTTP request when revisiting the non-expired document.  Since this
>>appears to be the only added functionality of Pragma: no-cache as a
>>return header...

Thus I think there's no need for the 'Caching' solution, and vote for the
'Proxy: no-cache' solution as a replacement for 'Pragma: no-cache'.

> The first choice may look cleaner, but it neglects the fact that Pragma
> is already in use, already recognized (and forwarded) by proxies,
> and already has the de-facto semantics that we need.

>From my reading of the different WWW newsgroups this year, I got the opposite
impression: almost nobody has a WWW client or server which uses Pragma. This
is not based on solid stats, though.

> So, what do we do for HTTP/1.1?  I am planning on issuing the first 1.1
> draft on Monday, so I'd like to hear your opinions now rather than later.

Leaves little time for this side of the Atlantic to react ;-)

Jean-Philippe

Received on Friday, 18 August 1995 10:47:56 UTC