coldfusion - fileExists() 与 CFHTTP 检查远程文件

标签 coldfusion cfhttp

fileExists 远程文件检查是否使用 cfhttp 头?

在检查远程文件时,我担心 fileExists over CFHTTP 的速度

<cfset imgExist = FileExists('https://qph.fs.quoracdn.net/main-qimg-e8b07145ae25974d4902168818241326.webp') >
<cfdump var="#imgExist#">
-- Returns Yes --

FileExists 函数是否使用 CFHTTP 头?
<cfhttp method="head" url="someimage" resolveurl="no" throwonerror="no" timeout="2" />

在检查远程文件是否存在时,FileExists 相对于 CFHTTP 的优势是什么?

在服务器负载方面,FileExists 是否也比 CFHTTP 更好?

最佳答案

Is the FileExists function uses CFHTTP head?



是的,fileExists使用 Commons Virtual File System ,转换为对 Web 资源的 HTTP HEAD 请求。

What is the advantage of FileExists over CFHTTP when checking if the remote file exists?



从理论上讲,使用 cfhttp 时,实现可以很容易地适应 Web 资源的特定规则。将是一个具体的实现。但是,您可以只包装 cfhttp自己轻松调整,而不是依赖最新版本的 Jakarta VFS。

Also is FileExists better than CFHTTP in terms of server load?



不,现在这两个调用都会导致 HTTP HEAD 请求。我无法衡量它们之间的实际性能差异。

正如评论中提到的,您可能不应该使用 fileExists , 因为:
  • Adobe 没有记录检查 Web 资源,这更像是一个很好的副作用,因为下面的实现使用了 VFS。
  • 您对实现没有任何控制权。示例:如果您需要添加额外的 header (因为您正在检查的网络服务器要求您这样做),那么您将不走运 fileExists .

  • 所以我的建议是:编写一个使用 cfhttp method="HEAD" 的简洁函数并在需要时调整功能。不要相信未记录的功能,尤其是在涉及 CF 时。 😜

    关于coldfusion - fileExists() 与 CFHTTP 检查远程文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54581822/

    相关文章:

    ajax - ColdFusion:使用 AJAX 调用组件,从 View 源中隐藏?

    javascript - 服务器端 JQuery 数据表结果错误

    json - 使用 ColdFusion cfhttp 连接到远程 API

    coldfusion - 使用 Coldfusion 进行屏幕抓取

    facebook - cfhttp 多部分和 facebook

    coldfusion - 使用 cfhttp 的 addParam 方法向 HTTP 请求添加 header

    json - 使用 Coldfusion 解析 JSON 数据

    struct - 如何从 Coldfusion 的结构中删除键/值对?

    javascript - 如何使用 jQuery 发布链接变量?

    coldfusion - CFHTTP编码问题