What is the difference between iCalendar and CalDav?
CalDAV is a protocol extension for WebDAV and can used to manipulate data in the iCalendar format. So CalDAV is like the HTTP for calendar stuff, and iCalendar is like HTML.
iCalendar is a file format that can be used to store and transport calendar entries.
CalDAV is a protocol specification, based on HTTP/WebDAV, that can be used to interact with remote calendars.
CalDAV uses the iCalendar format to represent the actual entries.
In case a calendar is exposed either through a caldav link or an icalendar link, the difference is:
iCal
- Read-only
- Just one file with all events, so client have to download whole feed (so syncing is not data effective)
CalDAV
- Read-write
- Like multiple files, so client can download only some events (support effective syncing)
- Access control list
- Read-free-busy (see only time, not details about event)