检测URL是否为文件下载



如何检测给定URL是否为要下载的文件?

我遇到了content-disposition标头,但似乎这不是http 1.1的直接一部分。

是否有更标准的方法来检测GET请求对给定URLresponse是否实际上是要/可以下载的文件?

这是响应不是html或json或类似的东西,但像图像,mp3, pdf文件等?

HTTP是一种传输协议-这与硬盘存储布局非常不同。"文件"的概念在HTTP中根本不存在。没有比你的电脑硬盘包含真正的纸和纸板"文件",人们会在办公室文件系统中看到。

无论你认为HTTP消息或URL在说什么,响应内容不必来自任何计算机文件,也不必由接收者存储在一个文件中。

对HTTP中任何GET消息的响应总是可以通过发送具有相同URL的另一个GET请求来"下载"(在HTTP/1.1变体的情况下可能还有其他报头)。这是内置在GET消息定义中的,与文件无关。

我最终使用content-type来决定它是一个html文件还是在给定URL的另一端的其他类型的文件。

我使用content-disposition头内容来检测原始文件名,如果它存在,因为头不是无处可用。

是否可以检查文件扩展名?抱歉,在不了解更多信息的情况下,我无法详细说明,但我猜如果HTML的功能不够,您可以考虑使用PHP来实现它?

相关内容

  • 没有找到相关文章

最新更新