У меня есть страница php со встроенным HTML5-видео, скажем, video.mp4. На cloudflare у меня есть настройка pagerule для mydomain.com/.php * и установите его для кеширования всего. Будет ли cloudflare кэшировать встроенное видео?
Благодарю.
РЕДАКТИРОВАТЬ: Видимо облачный флайбл при кешировании видео. Если пользователь просматривает половину видео, а облачный фрейм только кеширует это, каждый посетитель вашего сайта получит половину видео.
Но где вы хотите его кешировать? В памяти на сервере cloudflare или в браузере пользователя. Я предполагаю последнее, потому что первое не должно иметь значения
ты пытался:
preload="auto"
Проверьте заголовок ответа HTTP, чтобы увидеть, имеет ли он
Cache-Control: max-age=xxxxx
Где xxxxx = количество секунд, которое браузер должен кэшировать.
«Срок действия» также является датой, когда браузер больше не будет хранить его в кэше.
Чтобы увидеть заголовок, щелкните правой кнопкой мыши, выберите Inspect Element, перейдите на «вкладку Network», обновите страницу, выберите видео из списка ресурсов, просмотрите заголовок Response.
Для хранения видео в памяти каталог PHP / tmp является каталогом памяти.
Чтобы проверить каталог tmp, используйте:
echo sys_get_temp_dir();
Чтобы получить видео в временный каталог
$data = file_get_contents('http://example.com/video/test.mp4');
$fp = fopen('/tmp/test.mp4','w');
fwrite($fp,$data);
fclose($fp);
Вам может потребоваться установить обработчик для типа контента: video / mp4.
Но тип на видео контроль должен это делать. Насколько я помню, мне нужно было установить обработчик, чтобы заголовок ответа HTTP имел правильный тип содержимого.
<source src="/tmp/test.mp4" type="video/mp4";/>
Вы можете сделать PHP-скрипт для сервера mp4 с правильным заголовком.
header('Content-Type: video/mp4');
echo file_get_contents('/tmp/test.mp4');
Тогда в видео контроль:
src="video.php"
Почему у вас не установлено PageRule в mydomain.com/* для кэширования всего?
«Будет ли cloudflare кэшировать встроенное видео?»
Но, да, PageRule должен кэшировать все.