1. Login to English Wikipedia and enable page previews.
1. Open Chromium Developer Tools and click the network tab.
1. Visit the Sonic the Hedgehog article.
1. Hover over the "Sonic Spinball" (or a preview not requested previously) link. This is the initial request / 200 response:
```lines=15
Request URL:https://en.wikipedia.org/api/rest_v1/page/summary/Sonic_Spinball
Request Method:GET
Status Code:200
Remote Address:208.80.154.224:443
Referrer Policy:origin-when-cross-origin
Request:
:authority:en.wikipedia.org
:method:GET
:path:/api/rest_v1/page/summary/Sonic_Spinball
:scheme:https
accept:application/json; charset=utf-8; profile="https://www.mediawiki.org/wiki/Specs/Summary/1.2.0"
accept-encoding:gzip, deflate, br
accept-language:en-US,en;q=0.9
cookie:CP=H2; GeoIP=US:TN:Cordova:35.14:-89.77:v4; loginnotify_prevlogins=2017-4bna7w-5u9tr14qqj8vtxax4uf44099fgftf9g; VEE=wikitext; enwikiUserID=13204772; enwikiUserName=Niedzielski; centralauth_User=Niedzielski; centralauth_Token=1f3ae7c802862ac7849ccb8288230417; forceHTTPS=true; optin=beta; WMF-Last-Access=09-Jan-2018; WMF-Last-Access-Global=09-Jan-2018; enwikiSession=97juvgbur2g4fep52c9q0tl4dd038vks; centralauth_Session=d5d697afafddf1edce736a8e083d64aa
referer:https://en.wikipedia.org/wiki/Sonic_the_Hedgehog
user-agent:Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Ubuntu Chromium/63.0.3239.84 Chrome/63.0.3239.84 Safari/537.36
x-requested-with:XMLHttpRequest
Response:
accept-ranges:bytes
access-control-allow-headers:accept, content-type, content-length, cache-control, accept-language, api-user-agent, if-match, if-modified-since, if-none-match, dnt, accept-encoding
access-control-allow-methods:GET,HEAD
access-control-allow-origin:*
access-control-expose-headers:etag
age:0
cache-control:s-maxage=1209600, max-age=300
content-encoding:gzip
content-length:778
content-location:https://en.wikipedia.org/api/rest_v1/page/summary/Sonic_Spinball
content-security-policy:default-src 'none'; frame-ancestors 'none'
content-type:application/json; charset=utf-8; profile="https://www.mediawiki.org/wiki/Specs/Summary/1.2.0"
date:Tue, 09 Jan 2018 16:21:57 GMT
etag:"815568267/8dd72aa6-e1fd-11e7-a66d-f2eb3c4dd428"
referrer-policy:origin-when-cross-origin
server:restbase1007
status:200
strict-transport-security:max-age=106384710; includeSubDomains; preload
vary:Accept-Encoding
via:1.1 varnish-v4, 1.1 varnish-v4
x-analytics:WMF-Last-Access=09-Jan-2018;WMF-Last-Access-Global=09-Jan-2018;https=1
x-cache:cp1066 miss, cp1066 miss
x-cache-status:miss
x-client-ip:73.252.38.252
x-content-security-policy:default-src 'none'; frame-ancestors 'none'
x-content-type-options:nosniff
x-frame-options:SAMEORIGIN
x-request-id:36848c22-f559-11e7-b6bd-f764a5a3c585
x-varnish:338894840, 181105768
x-webkit-csp:default-src 'none'; frame-ancestors 'none'
x-xss-protection:1; mode=block
```
1. Move the cursor away to dismiss the preview.
1. Go offline and hover over the same link. The response is now served from cache:
```lines=15
Request URL:https://en.wikipedia.org/api/rest_v1/page/summary/Sonic_Spinball
Request Method:GET
Status Code:200 (from disk cache)
Remote Address:208.80.154.224:443
Referrer Policy:origin-when-cross-origin
Request:
Provisional headers are shown
Accept:application/json; charset=utf-8; profile="https://www.mediawiki.org/wiki/Specs/Summary/1.2.0"
Referer:https://en.wikipedia.org/wiki/Sonic_the_Hedgehog
User-Agent:Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Ubuntu Chromium/63.0.3239.84 Chrome/63.0.3239.84 Safari/537.36
X-Requested-With:XMLHttpRequest
Response:
accept-ranges:bytes
access-control-allow-headers:accept, content-type, content-length, cache-control, accept-language, api-user-agent, if-match, if-modified-since, if-none-match, dnt, accept-encoding
access-control-allow-methods:GET,HEAD
access-control-allow-origin:*
access-control-expose-headers:etag
age:0
cache-control:s-maxage=1209600, max-age=300
content-encoding:gzip
content-length:778
content-location:https://en.wikipedia.org/api/rest_v1/page/summary/Sonic_Spinball
content-security-policy:default-src 'none'; frame-ancestors 'none'
content-type:application/json; charset=utf-8; profile="https://www.mediawiki.org/wiki/Specs/Summary/1.2.0"
date:Tue, 09 Jan 2018 16:21:57 GMT
etag:"815568267/8dd72aa6-e1fd-11e7-a66d-f2eb3c4dd428"
referrer-policy:origin-when-cross-origin
server:restbase1007
status:200
vary:Accept-Encoding
via:1.1 varnish-v4, 1.1 varnish-v4
x-analytics:WMF-Last-Access=09-Jan-2018;WMF-Last-Access-Global=09-Jan-2018;https=1
x-cache:cp1066 miss, cp1066 miss
x-cache-status:miss
x-client-ip:73.252.38.252
x-content-security-policy:default-src 'none'; frame-ancestors 'none'
x-content-type-options:nosniff
x-frame-options:SAMEORIGIN
x-request-id:36848c22-f559-11e7-b6bd-f764a5a3c585
x-varnish:338894840, 181105768
x-webkit-csp:default-src 'none'; frame-ancestors 'none'
x-xss-protection:1; mode=block
```
1. Move the cursor away to dismiss the preview.
1. Wait at least five minutes.
1. Go online and hover over the same link. The response is refreshed from the network as a 200:
```lines=15
Request URL:https://en.wikipedia.org/api/rest_v1/page/summary/Sonic_Spinball
Request Method:GET
Status Code:200
Remote Address:208.80.154.224:443
Referrer Policy:origin-when-cross-origin
Request:
:authority:en.wikipedia.org
:method:GET
:path:/api/rest_v1/page/summary/Sonic_Spinball
:scheme:https
accept:application/json; charset=utf-8; profile="https://www.mediawiki.org/wiki/Specs/Summary/1.2.0"
accept-encoding:gzip, deflate, br
accept-language:en-US,en;q=0.9
cookie:CP=H2; GeoIP=US:TN:Cordova:35.14:-89.77:v4; loginnotify_prevlogins=2017-4bna7w-5u9tr14qqj8vtxax4uf44099fgftf9g; VEE=wikitext; enwikiUserID=13204772; enwikiUserName=Niedzielski; centralauth_User=Niedzielski; centralauth_Token=1f3ae7c802862ac7849ccb8288230417; forceHTTPS=true; optin=beta; WMF-Last-Access=09-Jan-2018; WMF-Last-Access-Global=09-Jan-2018; enwikiSession=97juvgbur2g4fep52c9q0tl4dd038vks; centralauth_Session=d5d697afafddf1edce736a8e083d64aa
if-none-match:"815568267/8dd72aa6-e1fd-11e7-a66d-f2eb3c4dd428"
referer:https://en.wikipedia.org/wiki/Sonic_the_Hedgehog
user-agent:Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Ubuntu Chromium/63.0.3239.84 Chrome/63.0.3239.84 Safari/537.36
x-requested-with:XMLHttpRequest
Response:
accept-ranges:bytes
access-control-allow-headers:accept, content-type, content-length, cache-control, accept-language, api-user-agent, if-match, if-modified-since, if-none-match, dnt, accept-encoding
access-control-allow-methods:GET,HEAD
access-control-allow-origin:*
access-control-expose-headers:etag
age:470
cache-control:s-maxage=1209600, max-age=300
content-encoding:gzip
content-length:778
content-location:https://en.wikipedia.org/api/rest_v1/page/summary/Sonic_Spinball
content-security-policy:default-src 'none'; frame-ancestors 'none'
content-type:application/json; charset=utf-8; profile="https://www.mediawiki.org/wiki/Specs/Summary/1.2.0"
date:Tue, 09 Jan 2018 16:29:47 GMT
etag:"815568267/8dd72aa6-e1fd-11e7-a66d-f2eb3c4dd428"
referrer-policy:origin-when-cross-origin
server:restbase1007
status:200
strict-transport-security:max-age=106384710; includeSubDomains; preload
vary:Accept-Encoding
via:1.1 varnish-v4, 1.1 varnish-v4
x-analytics:WMF-Last-Access=09-Jan-2018;WMF-Last-Access-Global=09-Jan-2018;https=1
x-cache:cp1066 hit/3, cp1066 miss
x-cache-status:hit-local
x-client-ip:73.252.38.252
x-content-security-policy:default-src 'none'; frame-ancestors 'none'
x-content-type-options:nosniff
x-frame-options:SAMEORIGIN
x-request-id:36848c22-f559-11e7-b6bd-f764a5a3c585
x-varnish:344684204 338894841, 198281743
x-webkit-csp:default-src 'none'; frame-ancestors 'none'
x-xss-protection:1; mode=block
```
1. Go offline and hover over the same link. The request now fails:
```lines=15
Request URL:https://en.wikipedia.org/api/rest_v1/page/summary/Sonic_Spinball
Referrer Policy:origin-when-cross-origin
Request:
Provisional headers are shown
Accept:application/json; charset=utf-8; profile="https://www.mediawiki.org/wiki/Specs/Summary/1.2.0"
Referer:https://en.wikipedia.org/wiki/Sonic_the_Hedgehog
User-Agent:Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Ubuntu Chromium/63.0.3239.84 Chrome/63.0.3239.84 Safari/537.36
X-Requested-With:XMLHttpRequest
```
1. Go online and refresh the page.
1. Hover over the same link. The response is now a 304:
```lines=15
Request URL:https://en.wikipedia.org/api/rest_v1/page/summary/Sonic_Spinball
Request Method:GET
Status Code:304
Remote Address:208.80.154.224:443
Referrer Policy:origin-when-cross-origin
Request:
:authority:en.wikipedia.org
:method:GET
:path:/api/rest_v1/page/summary/Sonic_Spinball
:scheme:https
accept:application/json; charset=utf-8; profile="https://www.mediawiki.org/wiki/Specs/Summary/1.2.0"
accept-encoding:gzip, deflate, br
accept-language:en-US,en;q=0.9
cookie:CP=H2; GeoIP=US:TN:Cordova:35.14:-89.77:v4; loginnotify_prevlogins=2017-4bna7w-5u9tr14qqj8vtxax4uf44099fgftf9g; VEE=wikitext; enwikiUserID=13204772; enwikiUserName=Niedzielski; centralauth_User=Niedzielski; centralauth_Token=1f3ae7c802862ac7849ccb8288230417; forceHTTPS=true; optin=beta; WMF-Last-Access=09-Jan-2018; WMF-Last-Access-Global=09-Jan-2018; enwikiSession=97juvgbur2g4fep52c9q0tl4dd038vks; centralauth_Session=d5d697afafddf1edce736a8e083d64aa
if-none-match:"815568267/8dd72aa6-e1fd-11e7-a66d-f2eb3c4dd428"
referer:https://en.wikipedia.org/wiki/Sonic_the_Hedgehog
user-agent:Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Ubuntu Chromium/63.0.3239.84 Chrome/63.0.3239.84 Safari/537.36
x-requested-with:XMLHttpRequest
Response:
access-control-allow-headers:accept, content-type, content-length, cache-control, accept-language, api-user-agent, if-match, if-modified-since, if-none-match, dnt, accept-encoding
access-control-allow-methods:GET,HEAD
access-control-allow-origin:*
access-control-expose-headers:etag
age:634
cache-control:s-maxage=1209600, max-age=300
content-encoding:gzip
content-location:https://en.wikipedia.org/api/rest_v1/page/summary/Sonic_Spinball
content-security-policy:default-src 'none'; frame-ancestors 'none'
content-type:application/json; charset=utf-8; profile="https://www.mediawiki.org/wiki/Specs/Summary/1.2.0"
date:Tue, 09 Jan 2018 16:32:32 GMT
etag:"815568267/8dd72aa6-e1fd-11e7-a66d-f2eb3c4dd428"
referrer-policy:origin-when-cross-origin
server:restbase1007
status:304
strict-transport-security:max-age=106384710; includeSubDomains; preload
vary:Accept-Encoding
via:1.1 varnish-v4, 1.1 varnish-v4
x-analytics:WMF-Last-Access=09-Jan-2018;WMF-Last-Access-Global=09-Jan-2018;https=1
x-cache:cp1066 hit/4, cp1066 hit/2
x-cache-status:hit-front
x-client-ip:73.252.38.252
x-content-security-policy:default-src 'none'; frame-ancestors 'none'
x-content-type-options:nosniff
x-frame-options:SAMEORIGIN
x-request-id:36848c22-f559-11e7-b6bd-f764a5a3c585
x-varnish:348855286 338894841, 190043427 194758879
x-webkit-csp:default-src 'none'; frame-ancestors 'none'
x-xss-protection:1; mode=block
```
1. Go offline and hover over the same link. The request still fails:
```lines=15
Request URL:https://en.wikipedia.org/api/rest_v1/page/summary/Sonic_Spinball
Referrer Policy:origin-when-cross-origin
Request:
Provisional headers are shown
Accept:application/json; charset=utf-8; profile="https://www.mediawiki.org/wiki/Specs/Summary/1.2.0"
Referer:https://en.wikipedia.org/wiki/Sonic_the_Hedgehog
User-Agent:Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Ubuntu Chromium/63.0.3239.84 Chrome/63.0.3239.84 Safari/537.36
X-Requested-With:XMLHttpRequest
```
The age keeps increasing and the page previews are never shown offline again.