代码之家  ›  专栏  ›  技术社区  ›  TRiG

非动态自定义HTTP头

  •  1
  • TRiG  · 技术社区  · 14 年前

    根据这个 Mozilla article on Ogg media X-Content-Duration 标题,以秒为单位给出工件的长度。

    假设我把这个长度存储在某个地方(当然是在数据库中,也许也是在文件名本身中)( video-file-name.XXX.ogv ,在哪里 XXX 时间(以秒为单位)),是否有任何方法仅使用Apache来形成这个额外的头文件 .htaccess 设置?我这样问是因为将文件加载到PHP脚本中看起来很笨拙,特别是当PHP默认情况下会添加其他禁用缓存的头文件,并且无法正确响应范围(部分内容)请求时。是的,很多代码都可以用PHP编写来支持etag和range请求,但是当Apache内置了所有这些功能时,仅仅添加一个头就这样做似乎有些过分了。

    3 回复  |  直到 14 年前
        1
  •  1
  •   mario    14 年前

    这是我们的领域 mod_cern_meta . 它允许静态地为文件分配额外的HTTP头。

    您可以使用cron作业,为每个视频生成一个*.meta文件。

        2
  •  1
  •   Taylor Bird    14 年前

    我没有示例,但您应该能够使用mod_header在.htaccess级别指定HTTP响应头。

    当然,我应该在哪里添加标题的问题实际上取决于您如何访问它。如果您只是点击一个静态资源进行下载,那么通过Apache添加它是有意义的。但是,您提到了DB。如果您决定将这些文件存储在数据库中,那么就有一些API提供该文件,在这种情况下,API实现应该附加头,而不是卸载到apache。

    另外,如果您想要的动态数据曾经需要处理来确定(它不在文件名等中),那么您已经在使用一些代码引擎来实现它了,只需让它添加标题。

        3
  •  1
  •   Paul Dixon    14 年前

    这是使用mod\u perl扩展所做的事情,在允许Apache继续处理请求之前,拦截这些请求并添加额外的头。

    一种纯粹的PHP方法 可以 virtual 功能。