Использует ли функция FileExists заголовок CFHTTP?
Да, fileExists
использует виртуальную файловую систему Commons , которая преобразуется в запрос HTTP HEAD для веб-сайтаresources.
В чем преимущество FileExists перед CFHTTP при проверке существования удаленного файла?
Теоретически реализация может легко адаптироваться к определенным правилам для веб-ресурсов, в то время какиспользование cfhttp
было бы конкретной реализацией.Однако вы можете просто обернуть cfhttp
, чтобы легко настроить его самостоятельно, вместо того, чтобы полагаться на новейшую версию Jakarta VFS.
Также FileExists лучше, чем CFHTTP, с точки зрения загрузки сервера?
Нет, сейчас оба вызова приводят к запросу HTTP HEAD.Я не мог измерить реальную разницу в производительности между ними.
Как уже упоминалось в комментариях, вам, вероятно, НЕ следует использовать fileExists
, потому что:
- Проверка веб-ресурсов не задокументированаAdobe, это больше похоже на приятный побочный эффект, потому что реализация использует VFS ниже.
- У вас нет никакого контроля над реализацией.Пример: Если вам когда-либо понадобится добавить дополнительный заголовок (поскольку проверяемый веб-сервер требует от вас этого), вам не повезет с
fileExists
.
Поэтому я рекомендую: Напишите аккуратную функцию, которая использует cfhttp method="HEAD"
, и настройте ее, когда вам нужно.Не доверяйте недокументированной функции, особенно если речь идет о CF.?