Report: Problems with the Expires header.

This is to announce the availability of a report on problems with the
HTTP Expires header.

This report is available in hypertext form at
http://www.amazon.com/expires-report.html, and in plain text form at
http://www.amazon.com/expires-report.txt.  For discussions about the
report, we suggest using the www-talk mailing list.

Excerpts from the text version of the report are included below.

Koen.

------------------------------------------------------------------------

  PROBLEMS WITH THE EXPIRES HEADER

  Dynamic documents vs. history functions

                                        Koen Holtman, koen@win.tue.nl
                                        Shel Kaphan, sjk@amazon.com
					19 July 1995

SUMMARY

Developments in the implementation of browser history functions
prevent the HTTP Expires header from becoming the standard, generally
usable mechanism for controlling the behavior of caches.

To allow all types of dynamic services, which by their nature need to
restrict caching, to be implemented in a simple, reliable, and efficient
way, the HTTP specification must be extended.  We will propose several
alternative solutions.

Some of the proposed HTTP extensions would not only fix problems of
cache control, but their acceptance would also add a means of
controlling the contents of browser history lists.  Better control
over history list contents is needed for some types of dynamic
services.


AUDIENCE

This report discusses problems concerning cache control mechanisms
that are relevant to browser authors, the authors of dynamic web
services, and everyone contributing to the future development of HTTP.

We will present several alternative proposals for extensions to the
HTTP specification that solve the discussed cache control problems.
We hope that this report will generate a discussion leading to a
consensus about which alternative is best.

[...]

TABLE OF CONTENTS

    Introduction
    What The HTTP Specification Says
    What The HTTP Specification Does Not Say
    Why Does This Matter?
    An Example
    What Browsers Do
    Disadvantages Unrelated to Network Load
    Uncoupling Cache and History
    What Is Needed
    List of Proposals
	proposal 1: do nothing
	proposal 2: discourage honoring expires in history functions
	proposal 3A: add a header to control history: History-Control
	proposal 3B: add a header to control history: History-Expires
	proposal 4A: add a second way of disabling caching: pragma no-cache
	proposal 4B: add a second way of disabling caching: last-modified
	proposal 5: conditional posts
    Summary of Proposal Advantages and Disadvantages

[...]

SUMMARY OF PROPOSAL ADVANTAGES AND DISADVANTAGES

[...]

|---------------------------------|----|----|----|----|----|----|----|
|Proposal number                  |  1 |  2 | 3A | 3B | 4A | 4B |  5 |
|---------------------------------|----|----|----|----|----|----|----|
|Solves Expires/caching problem   | -- | ++ | ++ | ++ | ++ | ++ |  + |
|Browsers now conform             | ++ | -- |  0 |  0 |  0 |  + |  0 |
|Quick move to conformance        |  + |  - |  + |  - |  + |  + | -- |
|---------------------------------|----|----|----|----|----|----|----|
|Allows history function control  |  0 |  0 | ++ |  + |  0 |  0 |  0 |
|---------------------------------|----|----|----|----|----|----|----|
| Work needed on: (more is worse) |    |    |    |    |    |    |    |
|       - HTTP specification      |  0 |  - | -- | -- | -- | -- | -- |
|       - New browser code        |  0 |  - | -- | -- |  - | -- | -- |
|       - New proxy code          |  0 |  0 |  0 |  0 |  - |  0 | -- |
|       - New server code         |  0 |  0 |  0 |  0 |  0 |  0 | -- |
|---------------------------------|----|----|----|----|----|----|----|
|Overall conclusion               | -- |  + | ++ |  + |  0 |  0 |  - |
|---------------------------------|----|----|----|----|----|----|----|

Meaning of ratings:
  -- very bad  /  - bad  /  0 neutral  /  + good  /  ++ very good

Received on Thursday, 20 July 1995 10:33:15 UTC