据我了解,CalDAV是WebDAV的扩展,用于管理iCalendar订阅。
Webcal是一个URL方案,它做同样的事情,但没有标准化。
我就在这儿? 什么方式/利弊是什么?
答案 0 :(得分:10)
朱利安所说的一切,但可能真正的问题是关于普通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服务器可以自动为您执行调度操作(设置会议等)。有一个与其他人共享日历的扩展程序,依此类推。
P.S。:这有点令人困惑,但是,Apple也有办法使用WebDAV来管理iCalendar订阅。但这是与CalDAV一起工作的另一件事。
答案 1 :(得分:2)
CalDAV是一种协议,扩展了WebDAV,即HTTP。
Webcal是AFAIK由Apple发明的URI方案,其语义与“http”完全相同,只是Safari(可能还有其他一些浏览器)知道URI引用日历,因此调用“权利” “无需获取资源即可申请。
(当然,正确的做法是检查媒体类型(内容类型标题字段),然后调用匹配的应用程序。
所以这是一个反模式(Apple用“itms”URI再次完成)。