De Re If-Modified-Since

Let me get this straight:

The problem: 
	1) Documents are sometimes created on a server with incorrect dates. 
	2) If such a document is request by a caching agent, the server 
	   will send, and the client record, the incorrect date in the  
	   last-modified field.
	3) Such incorrect dates may be corrected on the server.
	4) If the incorrect date is in advance of the corrected date, 
	   no modified versions of the documet will be sent in response 
	   to requests containing If-Modified-Since dates from the original 
	   message until the modifed dates are later than the incorrect dates.

The proposed cure:
	1) Modify clients and servers to send an additional field with 
	conditional requests with a checksum of some form to detect 
	actual changes in the content. Such checksum may be in the form 
	of a file size, an integrity checksum, or a cryptographic checksum.

---------

Comments:
	1) The proposed cure requires changes to the protocol. This 
	should not be done unless it can be shown that no other 
        _reasonable_  fix for the problem exists.

	2) The problem as described above is caused by problems at the
	server side;  the cure can also be localised to the server-side
	without protocol modifications- for example, the server can keep 
	a record of the incorrect dates that have been changed, and always 
	retransmit the document if it recieves a request containing one of
	the bad dates. 

	3) A cure of this kind fixes problems caused by errors on the 
	server, but does not address the problem of corruption caused by 
	activity on the client (assult with a deadly filemgr). 
	However, the client can determine whether such corruption has 
	taken place by performing its own checksum calculations, and 
	storing the information in a safe place (e.g. the cache map). 

	4) Think globally, act locally.

Simon
-------
"I am become Fluffy, destroyer of Curtains" - Robert Oppenheimer's cat
"Teller! Teller!"  - gripping finale to "An H-Bomb called desire"

Received on Wednesday, 16 August 1995 21:35:09 UTC