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)