ColdFusion CDN下载

时间:2010-07-19 04:46:08

标签: coldfusion

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

我遇到的问题是这些文件是安全文件,因此我无法使用直接链接到CDN,这些文件的范围可以从50MB到5GB。因此,由于这两个问题,当我使用CfHTTP从CDN获取文件,然后执行此操作

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

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

如果它执行后者,那我该如何让它充当中间服务器?

1 个答案:

答案 0 :(得分:3)

使用cfhttp下载文件。在没有下载文件并将其重新提供给最终用户的情况下,没有多少资源可以隐藏CDN的URI。

如果您使用HTTP 301或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,但可以使用statusCode属性使用其他状态代码。

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