Patrick Lucas created FLINK-5843:
------------------------------------

             Summary: Website/docs missing Cache-Control HTTP header, can serve 
stale data
                 Key: FLINK-5843
                 URL: https://issues.apache.org/jira/browse/FLINK-5843
             Project: Flink
          Issue Type: Bug
          Components: Project Website
            Reporter: Patrick Lucas


When Flink 1.2.0 was released, I found that the [Flink downloads 
page|https://flink.apache.org/downloads.html] was out-of-date until I forced my 
browser to refresh the page. Upon investigation, I found that the principle 
pages of the website are served with only the following headers that relate to 
caching: Date, Last-Modified, and ETag.

Since there is no Cache-Control header (or the older Expires or Pragma 
headers), browsers are left to their own heuristics as to how long to cache 
this content, which varies browser to browser. In some browsers, this heuristic 
is 10% of the difference between Date and Last-Modified headers. I take this to 
mean that, if the content were last modified 90 days ago, and I last accessed 
it 5 days ago, my browser will serve a cached response for a further 3.5 days 
(10% * (90 days - 5 days) = 8.5 days, 5 days have elapsed leaving 3.5 days).

I'm not sure who at the ASF we should talk to about this, but I recommend we 
add the following header to any responses served from the Flink project website 
or official documentation website\[1]:

{code}Cache-Control: max-age=0, must-revalidate{code}

(Note this will only make browser revalidate their caches; if the ETag of the 
cached content matches what the server still has, the server will return 304 
Not Modified and omit the actual content)

\[1] Both the website hosted at flink.apache.org and the documentation hosted 
at ci.apache.org are affected.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)

Reply via email to