CalDAV — сетевой протокол, являющийся расширением WebDAV и позволяющий синхронизировать информацию о планировании времени.
Стиль этого раздела неэнциклопедичен или нарушает нормы литературного русского языка. |
Спецификация CalDAV была впервые опубликована Лизой Дюссо в 2003 году как интернет-проект[англ.], представленный Инженерному совету Интернета. Спецификация быстро была замечена и поддержана разработчиками программного обеспечения календарей. В январе 2005 года были завершены успешные тесты на совместимость двух серверов и трех клиентов, работающих вместе. В марте 2007 года спецификация CalDAV была завершена и опубликована IETF как стандарт RFC 4791 «Calendaring Extensions to WebDAV (CalDAV)», автором которого стали Сайрус Дабу (из Apple), Бернар Дезруиссо (из Oracle) и Лиза Дюссо (CommerceNet). С тех пор CalDAV был доработан и применялся в каждом программном обеспечении календарей. Протокол CalDAV управляет доступом к информации согласно определённым чётким правилам доступа. CalDAV спроектирован как открытый стандарт, чтобы разработчики могли свободно и независимо интегрировать требуемый им функционал в свои платформы.
Задача протокола CalDAV заключается в управлении событиями такими как встречи. Каждое событие записывается в формате iCalendar. Следовательно, любой клиент программного обеспечения может репрезентативно отображать загруженные iCalendar события. Данные управляются и синхронизируются как записи на WebDAV сервере и в клиентской среде. С таким функционалом пользователь может синхронизировать свой календарь с CalDAV сервером и использовать его на нескольких устройствах. Протокол также поддерживает создание неличных календарей, как комнаты или организации.
Некоторые разработчики[кто?] критикуют сложность CalDAV из-за трудностей интеграции протокола, которые провоцируют ошибки в установке протокола на различных приложениях календарей, что, в свою очередь, может привести к несовместимости программ.
Пример основан на RFC 4791:
Запрос:
REPORT /bernard/work/ HTTP/1.1 Host: cal.example.com Depth: 1 Content-Type: application/xml; charset="utf-8" Content-Length: xxxx <?xml version="1.0" encoding="utf-8" ?> <C:free-busy-query xmlns:C="urn:ietf:params:xml:ns:caldav"> <C:time-range start="20060104T140000Z" end="20060105T220000Z"/> </C:free-busy-query>
Ответ:
HTTP/1.1 200 OK Date: Sat, 11 Nov 2006 09:32:12 GMT Content-Type: text/calendar Content-Length: xxxx BEGIN:VCALENDAR VERSION:2.0 PRODID:-//Example Corp.//CalDAV Server//EN BEGIN:VFREEBUSY DTSTAMP:20050125T090000Z DTSTART:20060104T140000Z DTEND:20060105T220000Z FREEBUSY;FBTYPE=BUSY-TENTATIVE:20060104T150000Z/PT1H FREEBUSY:20060104T190000Z/PT1H END:VFREEBUSY END:VCALENDAR
Список CalDAV клиентов включает:[1]:
Список CalDAV серверов включает:[8]: