HTTP方法PROPFIND的作用是什么?


16

我注意到在服务器访问日志中从未见过的一系列行在同一秒钟内连续运行:

PROPFIND /images/flag.jpg HTTP/1.1  405 493 265    511    - LibreOffice
HEAD /images/flag.jpg HTTP/1.1      200 164 -      229    - LibreOffice
GET /images/flag.jpg HTTP/1.1       200 186 338166 338395 - LibreOffice

似乎将图像从网站复制到LibreOffice文档将导致触发这些查询。我发现在Microsoft网站上提到了PROPFIND ,但仍然不了解它的用法,为什么不只使用一个GET?

Answers:


8

从维基百科:

Web分布式创作和版本控制(WebDAV)是超文本传输​​协议(HTTP)的扩展,可促进用户之间在编辑和管理存储在万维网服务器上的文档和文件之间的协作。

PROPFIND-用于从Web资源检索以XML存储的属性。它也被重载,以允许它检索远程系统的集合结构(也称为目录层次结构)。


GET实际上检索资源。HEAD与GET相似,只是不返回消息正文。也就是说,它获取文件头信息而不是整个资源。

看起来PROPFIND与HEAD的不同之处在于,以XML形式存储的属性数据是在(数据包的)消息正文中返回的,而不是尝试返回整个资源。与Microsoft和其他公司使用的专有格式相比,OpenOffice和Libre文档包含XML。

将Libre与从您的网站链接的图像一起使用可能触发了此操作。


您能否详细说明PROPFIND应该从HTTP请求中获取的“属性”和“结构” PROPFIND /images/flag.jpg
问题溢出

我不知道。抱歉。显然,JPG文件是二进制格式。我不建议您的图像文件中包含XML。但是,如果PROPFIND失败,则返回404。不管文件类型如何,LibreOffice可能都在全面测试XML标头信息的资源。
closetnoc

测试是否是LibreOffice的一种方法是使用网站上的资源(最好是图像)创建一个新的简单文件,该资源是新的并且具有唯一的名称,这样,如果您收到对该文件的请求,就知道它的来源从。然后,您知道这些请求不是恶意的。否则,请检查IP(或域名)以确保它不在您的网络或您认识的人之内。如果请求来自未知位置,则阻止IP地址(或域名),然后查看谁抱怨。那是SA的老把戏。
closetnoc
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.