WebDAV

WebDAV is a de-facto standard way of publishing calendars on the internet. The way WebDAV represents a calendar is as a '.ics' file comprising a single 'VCALENDAR' which contains a series of VEVENT (or VTODO, etc) and any referenced VTIMEZONE elements.

While it is relatively simple, there are problems with the scalability of this representation:
 * When multiple people want to write to it, they need to lock the entire collection.
 * Over time the numbers of events can get unwieldy in a busy calendar.

CalDAV attempts to address both of these problems by:
 * providing the calendar data as individual events (/todos/journals/...) within a calendar collection.
 * providing reporting functionality which allows for subsetting the collection to a particular time period.
 * formalising approaches for identifying which data has changed, allowing aggressive client-side caching.