我正在使用 PHP 开发一个 twilio 项目,该项目将播放经常更改的音频文件。
Twilio 的 TwiML Voice文档指出:
确保您的网络服务器发送正确的标头以通知我们文件的内容已更改
这些是哪些标头以及如何在 PHP 中设置它们。
我正在使用 PHP 开发一个 twilio 项目,该项目将播放经常更改的音频文件。
Twilio 的 TwiML Voice文档指出:
确保您的网络服务器发送正确的标头以通知我们文件的内容已更改
这些是哪些标头以及如何在 PHP 中设置它们。
这些是哪些标题?
这就是缓存在 Twilio 上的工作方式
如何在 PHP 中设置它们?
header("ETag: \"uniqueID\");
发送文件时,Web 服务器会在名为ETag的标头中附加文件的 ID 。请求文件时,浏览器会检查文件是否已下载。如果找到缓存的文件,服务器将带有文件请求的 ID 发送给服务器。服务器检查 ID 是否匹配,如果匹配,则返回,header("HTTP/1.1 304 Not Modified");
否则服务器正常发送文件。
一种简单的检查方法是在 URL 的末尾添加一些虚假的键值对,例如http://yoururl.com/play.mp3?key=somevalue。您的网站仍应提供与加载 example.com/test.mp3 相同的 mp3,但对 Twilio 而言,它似乎是一个新 URL(未缓存)。
Twilio 使用 Squid 缓存 MP3。您可以使用缓存控制标头控制项目的缓存时间。
缓存控制:max-age=3600