On Tue, 15 Apr 1997, Gregory J. Woodhouse wrote:
> On Tue, 15 Apr 1997, Roy T. Fielding wrote:
>
> > CGI is no different than any other part of the server. I think it
> > is a mistake to encode namespace assumptions into the protocol,
> > particularly when we have already provided a means for origin servers
> > to explicitly mark something as non-cachable.
> >
>
> I absolutely agree. There is nothing to stop a CGI programmer from
> generating appropriate Expires: and Cache-control: headers. In fact, I
> don't know why a server couldn't have an option feature to disable
> caching of resources with URLs matching *.cgi, http://domain/cgi-bin/*,
> etc. But by all means, make this optional.
I don't .... while there is nothing to stop a CGI programmer from doing
X or anything a new version of the spec suggests/requires, a unilateral
change in the base assumptions can result in rather unsatisfactory
results for users.
This is a clear area where distinction between a history buffer and
private client cache is important to achieve predictable results for the
user. It is OK in my experience and indeed expected that a BACK button
will show the last version of the page the user actually saw ... this is
like a user of an old TTY flipping back thru the paper to review old
output. On the otherhand, without a signal that it is appropriate to
serve a response from a cache where the URL includes the ? separator,
current behavior shouldn't be expected to change.
Side-effects are not the only issue ... data base queries (I did not
say web crawler index search) often have no side effect and hence are
save to repeat BUT each response might be different as a result of other
user transactions against the data base.
I know of older applications which were written with the understanding
that the ? meant that a fresh result would be acquired each time the
user submitted a form. It so happens that the application also did not
send Last-modified or Expires so I can't assert with assurance that that
application would break of the current wording is removed but my sense of
www CGI development is that some percentage will break and we really don't
accomplish anything my helping that along since we have defined perfectly
good mechanisms so that a 'modern' application/server can suggest caching
when appropriate.
Dave Morris