rfc2446.txt

来自「著名的RFC文档,其中有一些文档是已经翻译成中文的的.」· 文本 代码 · 共 1,535 行 · 第 1/5 页

TXT
1,535
字号
Network Working Group                                     S. SilverbergRequest for Comments: 2446                                    MicrosoftCategory: Standards Track                                    S. Mansour                                                               Netscape                                                              F. Dawson                                                                  Lotus                                                              R. Hopson                                                        ON Technologies                                                          November 1998       iCalendar Transport-Independent Interoperability Protocol                                 (iTIP)        Scheduling Events, BusyTime, To-dos and Journal EntriesStatus of this Memo   This document specifies an Internet standards track protocol for the   Internet community, and requests discussion and suggestions for   improvements.  Please refer to the current edition of the "Internet   Official Protocol Standards" (STD 1) for the standardization state   and status of this protocol.  Distribution of this memo is unlimited.Copyright Notice   Copyright (C) The Internet Society (1998).  All Rights Reserved.Abstract   This document specifies how calendaring systems use iCalendar objects   to interoperate with other calendar systems. It does so in a general   way so as to allow multiple methods of communication between systems.   Subsequent documents specify interoperable methods of communications   between systems that use this protocol.   The document outlines a model for calendar exchange that defines both   static and dynamic event, to-do, journal and free/busy objects.   Static objects are used to transmit information from one entity to   another without the expectation of continuity or referential   integrity with the original item. Dynamic objects are a superset of   static objects and will gracefully degrade to their static   counterparts for clients that only support static objects.   This document specifies an Internet protocol based on the iCalendar   object specification that provides scheduling interoperability   between different calendar systems. The Internet protocol is called   the "iCalendar Transport-Independent Interoperability Protocol   (iTIP)".Silverberg, et. al.         Standards Track                     [Page 1]RFC 2446                          iTIP                     November 1998   iTIP complements the iCalendar object specification by adding   semantics for group scheduling methods commonly available in current   calendar systems. These scheduling methods permit two or more   calendar systems to perform transactions such as publish, schedule,   reschedule, respond to scheduling requests, negotiation of changes or   cancel iCalendar-based calendar components.   iTIP is defined independent of the particular transport used to   transmit the scheduling information. Companion memos to iTIP provide   bindings of the interoperability protocol to a number of Internet   protocols.Table of Contents   1 INTRODUCTION...................................................5    1.1 FORMATTING CONVENTIONS .....................................5    1.2 RELATED DOCUMENTS ..........................................6    1.3 ITIP ROLES AND TRANSACTIONS ................................6   2 INTEROPERABILITY MODELS........................................8    2.1 APPLICATION PROTOCOL .......................................9      2.1.1 Calendar Entry State ...................................9      2.1.2 Delegation .............................................9      2.1.3 Acting on Behalf of other Calendar Users ..............10      2.1.4 Component Revisions ...................................10      2.1.5 Message Sequencing ....................................11   3 APPLICATION PROTOCOL ELEMENTS.................................12    3.1 COMMON COMPONENT RESTRICTION TABLES .......................13    3.2 METHODS FOR VEVENT CALENDAR COMPONENTS ....................14      3.2.1 PUBLISH ...............................................15      3.2.2 REQUEST ...............................................17        3.2.2.1 Rescheduling an Event..............................19        3.2.2.2 Updating or Reconfirmation of an Event.............19        3.2.2.3 Delegating an Event to another CU..................19        3.2.2.4 Changing the Organizer.............................20        3.2.2.5 Sending on Behalf of the Organizer.................20        3.2.2.6 Forwarding to An Uninvited CU......................20        3.2.2.7 Updating Attendee Status...........................21      3.2.3 REPLY .................................................21      3.2.4 ADD ...................................................23      3.2.5 CANCEL ................................................25      3.2.6 REFRESH ...............................................26      3.2.7 COUNTER ...............................................28      3.2.8 DECLINECOUNTER ........................................29    3.3 METHODS FOR VFREEBUSY COMPONENTS ..........................31      3.3.1 PUBLISH ...............................................32      3.3.2 REQUEST ...............................................33      3.3.3 REPLY .................................................34    3.4 METHODS FOR VTODO COMPONENTS ..............................35Silverberg, et. al.         Standards Track                     [Page 2]RFC 2446                          iTIP                     November 1998      3.4.1 PUBLISH ...............................................35      3.4.2 REQUEST ...............................................37        3.4.2.1 REQUEST for Rescheduling a VTODO...................39        3.4.2.2 REQUEST for Update or Reconfirmation of a VTODO....39        3.4.2.3 REQUEST for Delegating a VTODO.....................40        3.4.2.4 REQUEST Forwarded To An Uninvited Calendar User....40        3.4.2.5 REQUEST Updated Attendee Status....................41      3.4.3 REPLY .................................................41      3.4.4 ADD ...................................................43      3.4.5 CANCEL ................................................44      3.4.6 REFRESH ...............................................46      3.4.7 COUNTER ...............................................48      3.4.8 DECLINECOUNTER ........................................49    3.5 METHODS FOR VJOURNAL COMPONENTS ...........................50      3.5.1 PUBLISH ...............................................51      3.5.2 ADD ...................................................52      3.5.3 CANCEL ................................................53    3.6 STATUS REPLIES ............................................55    3.7 IMPLEMENTATION CONSIDERATIONS .............................57      3.7.1 Working With Recurrence Instances .....................57      3.7.2 Attendee Property Considerations ......................58      3.7.3 X-Tokens ..............................................59   4 EXAMPLES......................................................59    4.1 PUBLISHED EVENT EXAMPLES ..................................59      4.1.1 A Minimal Published Event .............................60      4.1.2 Changing A Published Event ............................60      4.1.3 Canceling A Published Event ...........................61      4.1.4 A Rich Published Event ................................62      4.1.5 Anniversaries or Events attached to entire days .......63    4.2 GROUP EVENT EXAMPLES ......................................63      4.2.1 A Group Event Request .................................64      4.2.2 Reply To A Group Event Request ........................65      4.2.3 Update An Event .......................................65      4.2.4 Countering an Event Proposal ..........................66      4.2.5 Delegating an Event ...................................68      4.2.6 Delegate Accepts the Meeting ..........................70      4.2.7 Delegate Declines the Meeting .........................71      4.2.8 Forwarding an Event Request ...........................72      4.2.9 Cancel A Group Event ..................................72      4.2.10 Removing Attendees ...................................74      4.2.11 Replacing the Organizer ..............................75    4.3 BUSY TIME EXAMPLES ........................................76      4.3.1 Request Busy Time .....................................77      4.3.2 Reply To A Busy Time Request ..........................77    4.4 RECURRING EVENT AND TIME ZONE EXAMPLES ....................78      4.4.1 A Recurring Event Spanning Time Zones .................78      4.4.2 Modify A Recurring Instance ...........................79      4.4.3 Cancel an Instance ....................................81Silverberg, et. al.         Standards Track                     [Page 3]RFC 2446                          iTIP                     November 1998      4.4.4 Cancel Recurring Event ................................81      4.4.5 Change All Future Instances ...........................82      4.4.6 Add A New Instance To A Recurring Event ...............82      4.4.7 Add A New Series of Instances To A Recurring Event ....83      4.4.8 Counter An Instance Of A Recurring Event ..............87      4.4.9 Error Reply To A Request ..............................88    4.5 GROUP TO-DO EXAMPLES ......................................89      4.5.1 A VTODO Request .......................................90      4.5.2 A VTODO Reply .........................................90      4.5.3 A VTODO Request for Updated Status ....................91      4.5.4 A Reply: Percent-Complete .............................91      4.5.5 A Reply: Completed ....................................92      4.5.6 An Updated VTODO Request ..............................92      4.5.7 Recurring VTODOs ......................................92        4.5.7.1 Request for a Recurring VTODO......................93        4.5.7.2 Calculating due dates in recurring VTODOs..........93        4.5.7.3 Replying to an instance of a recurring VTODO.......93    4.6 JOURNAL EXAMPLES ..........................................94    4.7 OTHER EXAMPLES ............................................94      4.7.1 Event Refresh .........................................94      4.7.2 Bad RECURRENCE-ID .....................................95   5 APPLICATION PROTOCOL FALLBACKS................................97    5.1 PARTIAL IMPLEMENTATION ....................................97      5.1.1 Event-Related Fallbacks ...............................97      5.1.2 Free/Busy-Related Fallbacks ...........................99      5.1.3 To-Do-Related Fallbacks ...............................99      5.1.4 Journal-Related Fallbacks ............................101    5.2 LATENCY ISSUES ...........................................102      5.2.1 Cancellation of an Unknown Calendar Component. .......102      5.2.2 Unexpected Reply from an Unknown Delegate ............103    5.3 SEQUENCE NUMBER ..........................................103   6 SECURITY CONSIDERATIONS......................................103    6.1 SECURITY THREATS .........................................103      6.1.1 Spoofing the "Organizer" .............................103      6.1.2 Spoofing the "Attendee" ..............................103      6.1.3 Unauthorized Replacement of the Organizer ............104      6.1.4 Eavesdropping ........................................104      6.1.5 Flooding a Calendar ..................................104      6.1.6 Procedural Alarms ....................................104      6.1.7 Unauthorized REFRESH Requests ........................104    6.2 RECOMMENDATIONS ..........................................104      6.2.1 Use of [RFC-1847] to secure iTIP transactions ........105      6.2.2 Implementation Controls ..............................105   7 ACKNOWLEDGMENTS..............................................106   8 BIBLIOGRAPHY.................................................106   9 AUTHORS' ADDRESSES...........................................107   10 FULL COPYRIGHT STATEMENT....................................109Silverberg, et. al.         Standards Track                     [Page 4]RFC 2446                          iTIP                     November 19981 Introduction   This document specifies how calendaring systems use iCalendar objects   to interoperate with other calendar systems. In particular, it   specifies how to schedule events, to-dos, or daily journal entries.   It further specifies how to search for available busy time   information. It does so in a general way so as to allow multiple   methods of communication between systems. Subsequent documents   specify transport bindings between systems that use this protocol.   This protocol is based on messages sent from an originator to one or   more recipients. For certain types of messages, a recipient may   reply, in order to update their status and may also return   transaction/request status information. The protocol supports the   ability for the message originator to modify or cancel the original   message. The protocol also supports the ability for recipients to   suggest changes to the originator of a message. The elements of the   protocol also define the user roles for its transactions.1.1 Formatting Conventions   In order to refer to elements of the calendaring and scheduling   model, core object or interoperability protocol defined in [iCAL] and   [iTIP] several formatting conventions have been utilized.   The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",   "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY" and "OPTIONAL" in this   document are to be interpreted as described in [RFC-2119].   Calendaring and scheduling roles are referred to in quoted-strings of   text with the first character of each word in upper case. For   example, "Organizer" refers to a role of a "Calendar User"  (CU)   within the scheduling protocol defined by [iTIP]. Calendar components   defined by [iCAL] are referred to with capitalized, quoted-strings of   text. All calendar components start with the letter "V". For example,   "VEVENT" refers to the event calendar component, "VTODO" refers to   the to-do calendar component and "VJOURNAL" refers to the daily   journal calendar component. Scheduling methods defined by [iTIP] are   referred to with capitalized, quoted-strings of text. For example,   "REQUEST" refers to the method for requesting a scheduling calendar   component be created or modified, "REPLY" refers to the method a   recipient of a request uses to update their status with the   "Organizer" of the calendar component.   Properties defined by [iCAL] are referred to with capitalized,   quoted-strings of text, followed by the word "property". For example,   "ATTENDEE" property refers to the iCalendar property used to convey   the calendar address of a "Calendar User". Property parametersSilverberg, et. al.         Standards Track                     [Page 5]RFC 2446                          iTIP                     November 1998   defined by this memo are referred to with lower case, quoted-strings   of text, followed by the word "parameter". For example, "value"   parameter refers to the iCalendar property parameter used to override   the default data type for a property value. Enumerated values defined   by this memo are referred to with capitalized text, either alone or   followed by the word "value".   In tables, the quoted-string text is specified without quotes in   order to minimize the table length.1.2 Related Documents   Implementers will need to be familiar with several other memos that,   along with this one, describe the Internet calendaring and scheduling   standards. This document, [iTIP], specifies an interoperability   protocol for scheduling between different implementations. The   related documents are:        [iCAL] - specifies the objects, data types, properties and        property parameters used in the protocols, along with the        methods for representing and encoding them;

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?