Webcal和WebDAV/CalDAV有什么区别?

use*_*631 6 icalendar webdav caldav webcal

据我了解,CalDAV是WebDAV的扩展,用于管理iCalendar订阅.

Webcal是一个URL方案,它做同样的事情,但没有标准化.

我就在这儿吗?无论哪种方式的优点/缺点是什么?

hnh*_*hnh 13

朱利安所说的一切,但可能真正的问题是普通iCalendar-over-HTTP(通常称为网络摄像头,'iCalendar订阅'或'订阅日历')和CalDAV之间的区别.或者换句话说:CalDAV添加了什么.

简单地说:在iCoHTTP中,您通常会在一个URL下存储整个日历,例如" http://yahoo.com/sports/nba/schedule-2015.ics "(或网络摄像头:).此URL表示完整日历,几乎总是只读(您不能对此URL进行PUT).这是为什么?因为要在此类日历中添加/更改/删除单个事件,您需要重新传输完整日历.

在CalDAV中,日历是WebDAV集合,有一个URL代表日历,例如:' http://icloud.com/calendars/joe/home/ '然后您为每个事件都有一个子URL.像" http://icloud.com/calendars/joe/home/buy-beer.ics "," http://icloud.com/calendars/joe/home/family-meeting.ics "等.然后,您可以删除,删除此类集合的各个项目.

总结:如果您只想发布很少更改并通过其他方式(如CMS)管理的日历,则可以使用iCal-over-HTTP.如果要提供用户(或可能是一组人)可以在其日历客户端中更改的日历,则需要使用CalDAV.

CalDAV还有一组扩展,例如许多CalDAV服务器可以自动为您执行调度操作(设置会议等).有一个与其他人共享日历的扩展,依此类推.

PS:这有点令人困惑,但是,Apple也有办法使用WebDAV来管理iCalendar订阅.但这是与CalDAV一起工作的另一件事.


Jul*_*hke 6

CalDAV 是一种协议,扩展了 WebDAV,因此是 HTTP。

Webcal 是 AFAIK 由 Apple 发明的 URI 方案,与“http”具有完全相同的语义,除了 Safari(可能还有其他一些浏览器)知道 URI 指的是日历,因此调用“正确”的应用程序而无需必须获取资源。

(当然,正确的做法是检查媒体类型(内容类型标头字段)然后调用匹配的应用程序。

所以这是一种反模式(由 Apple 再次使用“itms”URI 完成)。