将 Cache-Control age 转换为天、分钟或秒?
Convert Cache-Control age to days, minutes or seconds?
我需要开发一个代码来识别给定 URL 中每个文件的缓存时间,例如 this tool
为此,我使用 PHP 和 CURL:
$website = 'https://whosebug.com';
$ch = curl_init($website);
curl_setopt($ch, CURLOPT_HEADER, 1);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
$resp = curl_exec($ch);
var_dump($resp);
但是在响应中我没有看到缓存文件的年龄并且 cache control
是私有目标。
为了解决这个问题,我不得不从每个图像文件中获取 link,javascript,css 存在于页面正文中,运行与上面相同的 CURL 代码。
最后会显示cache-control,有的显示大日期(max-age=315360000)有的显示小日期(max-age=604800),现在还不知道如何转换和识别当缓存控制指的是天、分钟、年或秒时?
可以像这样将秒格式转换为人类可读的格式:
sprintf('%02d:%02d:%02d', ($s/3600), ($s/60%60), $s%60);
我需要开发一个代码来识别给定 URL 中每个文件的缓存时间,例如 this tool
为此,我使用 PHP 和 CURL:
$website = 'https://whosebug.com';
$ch = curl_init($website);
curl_setopt($ch, CURLOPT_HEADER, 1);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
$resp = curl_exec($ch);
var_dump($resp);
但是在响应中我没有看到缓存文件的年龄并且 cache control
是私有目标。
为了解决这个问题,我不得不从每个图像文件中获取 link,javascript,css 存在于页面正文中,运行与上面相同的 CURL 代码。
最后会显示cache-control,有的显示大日期(max-age=315360000)有的显示小日期(max-age=604800),现在还不知道如何转换和识别当缓存控制指的是天、分钟、年或秒时?
可以像这样将秒格式转换为人类可读的格式:
sprintf('%02d:%02d:%02d', ($s/3600), ($s/60%60), $s%60);