This repository was archived by the owner on Jul 26, 2022. It is now read-only.

Description
I learned today while working on Page Speed integration in WebPageTest that
WinInet discards some HTTP response headers, including: Set-Cookie,
Last-Modified, Server, Date, Expires, Connection, Proxy-Connection, Via, Age,
Cache-Control, and Accept-Ranges. WinInet will also remove Content-Encoding if
it is instructed to decode responses. Some of these headers are used to
populate the INTERNET_CACHE_ENTRY_INFO structure associated with the WinInet
cache entry. The ICEI is used to reconstruct Last-Modified and Expires headers.
Thus the headers that are not recoverable are:
Set-Cookie
Server
Date
Connection
Proxy-Connection
Via
Age
Cache-Control (excluding max-age, which will be converted to an Expires header)
Accept-Ranges
Content-Encoding
Of these, the headers that are of concern to Page Speed are the Date,
Content-Encoding, and Cache-Control headers (other than the max-age directive).
The specific Cache-Control headers we care about are must-revalidate, no-store,
and no-cache. We need to run tests to determine if these headers leave any
other indicators in the ICEI structure, or else modify the logic in
resource_util.cc to understand when these directives may be missing, and fail
gracefully.
Original issue reported on code.google.com by [email protected] on 12 Aug 2010 at 7:54