2021-03-08 03:40:44 +00:00
|
|
|
<?php
|
2021-03-08 14:40:45 +00:00
|
|
|
// First visit -> 5s, times match
|
|
|
|
// Second visit -> instant, times don't match
|
|
|
|
// … T+14 -> instant, times don't match
|
|
|
|
// … T+15 (or 16) -> instant, times match (or almost)
|
|
|
|
// Nothing for 30s -> 5s, times match
|
|
|
|
header('Cache-Control: s-max-age=60, stale-while-revalidate=20');
|
2021-03-08 03:57:46 +00:00
|
|
|
sleep(5);
|
2021-03-08 14:40:45 +00:00
|
|
|
print('This is a slow test with data cached for 10s but updated smartly. ' . date('Y-m-d H:i:s'));
|
2021-03-08 03:44:33 +00:00
|
|
|
?>
|
2021-03-08 03:57:46 +00:00
|
|
|
<ul>
|
|
|
|
<li><a href="./slow.php">Slow</a></li>
|
|
|
|
<li><a href="./slow-but-fast.php">Slow but fast</a></li>
|
2021-03-08 14:40:45 +00:00
|
|
|
<li><a href="./compromise.php">A good compromise to deal with slow pages fast</a></li>
|
2021-03-08 03:57:46 +00:00
|
|
|
</ul>
|
2021-03-08 03:44:33 +00:00
|
|
|
<p id="js-date"></p>
|
|
|
|
<script type="text/javascript">
|
2021-03-08 03:50:29 +00:00
|
|
|
document.getElementById('js-date').innerText = new Date().toISOString();
|
2021-03-08 03:44:33 +00:00
|
|
|
</script>
|