fileExists远程文件检查是否使用cfhttp头?
检查远程文件时,我担心fileExists通过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更好?
答案 0 :(得分:4)
FileExists函数是否使用CFHTTP头?
是的,fileExists
使用Commons Virtual File System,它转换为对Web资源的HTTP HEAD请求。
当检查远程文件是否存在时,FileExists与CFHTTP相比有什么优势?
从理论上讲,该实现可以轻松调整以适应Web资源的特定规则,而使用cfhttp
将是一个具体的实现。但是,您只需要包装cfhttp
即可自己轻松调整它,而不必依赖最新版本的Jakarta VFS。
在服务器负载方面,FileExists是否也比CFHTTP更好?
否,现在两个调用都导致HTTP HEAD请求。我无法衡量它们之间真正的性能差异。
如评论中所述,您可能不应该使用fileExists
,因为:
fileExists
会让您不走运。所以我的建议是:编写一个使用cfhttp method="HEAD"
的简洁函数,并在需要时进行调整。不要相信未记录的功能,尤其是涉及CF时。