Не динамические пользовательские заголовки HTTP - PullRequest
1 голос
/ 13 июля 2010

Согласно этой статье Mozilla об Ogg media , мультимедиа работает более плавно в браузере с заголовком X-Content-Duration, что дает длину в секундах.

Предполагая, что я храню эту длину где-то (конечно, в базе данных, возможно, также в самом имени файла (video-file-name.XXX.ogv, где XXX - время в секундах)), есть ли способ сформировать этот дополнительный заголовок, используя только настройки Apache .htaccess? Я спрашиваю, потому что загрузка файла в скрипт PHP кажется неуклюжей, особенно когда PHP по умолчанию добавляет другие заголовки, которые отключают кэширование, и не отвечают должным образом на запросы диапазона (частичного содержимого). Да, много кода может быть написано на PHP для поддержки ETag и запросов диапазона, но кажется слишком излишним делать все это, просто добавляя один заголовок, когда в Apache встроена вся эта функциональность.

Ответы [ 3 ]

1 голос
/ 13 июля 2010

Это то, что вы делаете с расширением mod_perl, чтобы перехватывать эти запросы и добавлять дополнительные заголовки, прежде чем Apache продолжит обрабатывать его.

Один чисто PHP-подход, который может работа заключается в том, чтобы направить запросы через PHP с помощью mod_rewrite, добавить дополнительный заголовок, но затем позволить Apache обрабатывать все остальное с помощью функции virtual .

В качестве альтернативы, вы можете использовать базу данныхдлительности для создания статического файла .htaccess, который использует mod_header для вставки правильного заголовка продолжительности для каждого запрошенного файла.

1 голос
/ 13 июля 2010

Это домен mod_cern_meta . Это позволяет статически назначать дополнительные HTTP-заголовки файлам.

Вы можете использовать задание cron и создавать файл * .meta для каждого видео.

1 голос
/ 13 июля 2010

У меня нет примеров, но вы должны иметь возможность использовать mod_header для указания заголовков HTTP-ответа на уровне .htaccess.

Конечно, вопрос о том, куда мне добавить заголовок, действительно зависит откак вы получаете к нему доступ.Если вы просто загружаете статический ресурс для загрузки, добавление его через Apache имеет смысл.Тем не менее, вы упоминаете БД.Если вы решили сохранить эти файлы в базе данных, то у вас есть некоторый API, предоставляющий файл, и в этом случае реализация API должна добавлять заголовок, а не выгружать в apache.

Кроме того, если вы используете динамические данныеесли когда-либо требуется обработка, чтобы определить (не в имени файла и т. д.), то вы уже используете какой-то механизм кода для достижения этого, просто позвольте этому добавить заголовок.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...