代码之家  ›  专栏  ›  技术社区  ›  Faisal Abid

ColdFusion CDN下载

  •  0
  • Faisal Abid  · 技术社区  · 14 年前

    我正在构建一个从第三方cdn(云文件)下载文件的简单API。ColdFusion目前正在成功获取此文件,通过使用cfcontent和cfheader,可以下载该文件以及调用API的人员。

    我遇到的问题是,这些文件是安全的文件,因此我不能使用到cdn的直接链接,这些文件的大小可以是50MB-5GB。因此,由于这两个问题,当我使用cfhttp从cdn获取文件时,然后执行此操作

    <cfcontent type="MMIETYPE" variable="#CFHTTP.FileContent#" >
    

    我困惑的是,ColdFusion就像一个中间服务器,它从cdn中获取文件并将其传递给用户,或者它将整个文件下载到内存中,然后将其传输给用户。

    如果是后者,那么如何使其充当中间服务器呢?

    1 回复  |  直到 14 年前
        1
  •  3
  •   Tyler Clendenin    14 年前

    使用cfhttp下载文件。在不下载文件并将其重新提供给最终用户的情况下,对隐藏cdn的URI没有太大的追索权。

    如果使用HTTP301或302状态代码,大多数最终用户将无法知道文件的位置。

    301是永久重定向,302是临时重定向。不同的是,有些浏览器缓存301,这样当用户第二次请求URI时,就不必再次访问服务器。

    你可以这么简单

    <cfheader statuscode="301" statustext="Moved permanently" />
    <cfheader name="Location" value="#CDN_URI#" />
    <cfabort />
    

    <cfheader statuscode="302" statustext="Moved Temporarily" />
    <cfheader name="Location" value="#CDN_URI#" />
    <cfabort />
    

    您还可以使用cflocation,默认情况下它使用302,但可以使用status code属性使其使用另一个状态代码。

    http://livedocs.adobe.com/coldfusion/8/htmldocs/help.html?content=Tags_j-l_04.html