2015-11-09 3 views
2

В соответствии со спецификацией WebDAV (RFC 4918):Разница между GET и PROPFIND в WebDAV

Семантика GET не изменяются при применении к коллекции, так как GET определяется как «получить любую информацию (в виде объекта) является , идентифицированным Request-URI «[RFC2616].

и PROPFIND

извлекает свойства, определенные на ресурсе, идентифицированного Request-URI.

Так что GET и PROPFIND более или менее извлекают информацию о ресурсе. В этом смысле существует ли какое-либо существенное различие между GET и PROPFIND, и когда следует использовать вместо другого.

ответ

5

Сам пункт, вы ссылаетесь, объясняет:

GET, когда применяется к коллекции, может вернуть содержимое из «index.html» ресурса, человек-читаемый вид содержимого коллекции, или что-то еще в целом.

I.e. GET ведет себя так, как это было исторически, для поддержания обратной совместимости. Он, как правило, возвращает страницу «индекс» (файл index.html, index.php или аналогичный), или он автоматически отображает HTML-страницу с содержимым каталога (список файлов). Это означает, что сервер WebDAV может работать на том же порту, что и HTTP-сервер (= в качестве расширения HTTP-сервера), при этом существующие HTTP-запросы ведут себя одинаково.

В то время как запрос WebDAV PROPFIND возвращает точно определенный машиночитаемый XML-документ в соответствии со спецификацией WebDAV.


Если вы реализуете клиент WebDAV или сервер, вы заинтересованы только в PROPFIND. Ответ GET не имеет определенного формата (даже не содержимого), поэтому он не может быть проанализирован приложением.

+0

Благодарим за разъяснения. – NullReference

1

Метод WebDAV PROPFIND используется для извлечения свойств ресурса, указанного в URI.

Метод HTTP GET может возвращать полученные данные, а не исходный текст ресурса, в случае, если он указывает на ресурс, создающий данные. См. Ниже текст из RFC 2616 - Протокол передачи гипертекста.

Метод GET означает получение любой информации (в форме объекта), идентифицируемой Request-URI. Если Request-URI ссылается на процесс создания данных, то полученные данные должны быть возвращены в качестве объекта в ответе, а не в исходном тексте процесса, если только этот текст не является результатом процесса. Источник - RFC 2616

Смежные вопросы