I was just about to agree that if servers were synchronized to within
a fraction of a second, and that was a required part of (some future version)
of http, that would suffice, but then I remembered that clients have
a part in all of this too. User agents have to do the right thing with
Expires, and there is no way that anyone's ever going to make all user
agent clocks correct. So at minimum, some of this normalization
has to occur within user agents. It affects both handling of Expires
and generation of GET-IMS, if you want things to be accurate in time.
If accurate timekeeping were part of HTTP for servers & proxies, that would
remove any necessity for what I suggested for them though. The question
you've gotta ask yourself is "which is a better engineering solution"?
--Shel