rfc2445.txt

来自「RFC 的详细文档!」· 文本 代码 · 共 1,587 行 · 第 1/5 页

TXT
1,587
字号






Network Working Group                                         F. Dawson
Request for Comments: 2445                                        Lotus
Category: Standards Track                                  D. Stenerson
                                                              Microsoft
                                                          November 1998


     Internet Calendaring and Scheduling Core Object Specification
                              (iCalendar)

Status 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

   There is a clear need to provide and deploy interoperable calendaring
   and scheduling services for the Internet. Current group scheduling
   and Personal Information Management (PIM) products are being extended
   for use across the Internet, today, in proprietary ways. This memo
   has been defined to provide the definition of a common format for
   openly exchanging calendaring and scheduling information across the
   Internet.

   This memo is formatted as a registration for a MIME media type per
   [RFC 2048]. However, the format in this memo is equally applicable
   for use outside of a MIME message content type.

   The proposed media type value is 'text/calendar'. This string would
   label a media type containing calendaring and scheduling information
   encoded as text characters formatted in a manner outlined below.

   This MIME media type provides a standard content type for capturing
   calendar event, to-do and journal entry information. It also can be
   used to convey free/busy time information. The content type is
   suitable as a MIME message entity that can be transferred over MIME
   based email systems, using HTTP or some other Internet transport. In






Dawson & Stenerson          Standards Track                     [Page 1]

RFC 2445                       iCalendar                   November 1998


   addition, the content type is useful as an object for interactions
   between desktop applications using the operating system clipboard,
   drag/drop or file systems capabilities.

   This memo is based on the earlier work of the vCalendar specification
   for the exchange of personal calendaring and scheduling information.
   In order to avoid confusion with this referenced work, this memo is
   to be known as the iCalendar specification.

   This memo defines the format for specifying iCalendar object methods.
   An iCalendar object method is a set of usage constraints for the
   iCalendar object. For example, these methods might define scheduling
   messages that request an event be scheduled, reply to an event
   request, send a cancellation notice for an event, modify or replace
   the definition of an event, provide a counter proposal for an
   original event request, delegate an event request to another
   individual, request free or busy time, reply to a free or busy time
   request, or provide similar scheduling messages for a to-do or
   journal entry calendar component. The iCalendar Transport-indendent
   Interoperability Protocol (iTIP) defined in [ITIP] is one such
   scheduling protocol.

Table of Contents

   1 Introduction.....................................................5
   2 Basic Grammar and Conventions....................................6
    2.1 Formatting Conventions .......................................7
    2.2 Related Memos ................................................8
    2.3 International Considerations .................................8
   3 Registration Information.........................................8
    3.1 Content Type .................................................8
    3.2 Parameters ...................................................9
    3.3 Content Header Fields .......................................10
    3.4 Encoding Considerations .....................................10
    3.5 Security Considerations .....................................10
    3.6 Interoperability Considerations .............................11
    3.7 Applications Which Use This Media Type ......................11
    3.8 Additional Information ......................................11
    3.9 Magic Numbers ...............................................11
    3.10 File Extensions ............................................11
    3.11 Contact for Further Information: ...........................12
    3.12 Intended Usage .............................................12
    3.13 Authors/Change Controllers .................................12
   4 iCalendar Object Specification..................................13
    4.1 Content Lines ...............................................13
     4.1.1 List and Field Separators ................................16
     4.1.2 Multiple Values ..........................................16
     4.1.3 Binary Content ...........................................16



Dawson & Stenerson          Standards Track                     [Page 2]

RFC 2445                       iCalendar                   November 1998


     4.1.4 Character Set ............................................17
    4.2 Property Parameters .........................................17
     4.2.1 Alternate Text Representation ............................18
     4.2.2 Common Name ..............................................19
     4.2.3 Calendar User Type .......................................20
     4.2.4 Delegators ...............................................20
     4.2.5 Delegatees ...............................................21
     4.2.6 Directory Entry Reference ................................21
     4.2.7 Inline Encoding ..........................................22
     4.2.8 Format Type ..............................................23
     4.2.9 Free/Busy Time Type ......................................23
     4.2.10 Language ................................................24
     4.2.11 Group or List Membership ................................25
     4.2.12 Participation Status ....................................25
     4.2.13 Recurrence Identifier Range .............................27
     4.2.14 Alarm Trigger Relationship ..............................27
     4.2.15 Relationship Type .......................................28
     4.2.16 Participation Role ......................................29
     4.2.17 RSVP Expectation ........................................29
     4.2.18 Sent By .................................................30
     4.2.19 Time Zone Identifier ....................................30
     4.2.20 Value Data Types ........................................32
    4.3 Property Value Data Types ...................................32
     4.3.1 Binary ...................................................33
     4.3.2 Boolean ..................................................33
     4.3.3 Calendar User Address ....................................34
     4.3.4 Date .....................................................34
     4.3.5 Date-Time ................................................35
     4.3.6 Duration .................................................37
     4.3.7 Float ....................................................38
     4.3.8 Integer ..................................................38
     4.3.9 Period of Time ...........................................39
     4.3.10 Recurrence Rule .........................................40
     4.3.11 Text ....................................................45
     4.3.12 Time ....................................................47
     4.3.13 URI .....................................................49
     4.3.14 UTC Offset ..............................................49
    4.4 iCalendar Object ............................................50
    4.5 Property ....................................................51
    4.6 Calendar Components .........................................51
     4.6.1 Event Component ..........................................52
     4.6.2 To-do Component ..........................................55
     4.6.3 Journal Component ........................................56
     4.6.4 Free/Busy Component ......................................58
     4.6.5 Time Zone Component ......................................60
     4.6.6 Alarm Component ..........................................67
    4.7 Calendar Properties .........................................73
     4.7.1 Calendar Scale ...........................................73



Dawson & Stenerson          Standards Track                     [Page 3]

RFC 2445                       iCalendar                   November 1998


     4.7.2 Method ...................................................74
     4.7.3 Product Identifier .......................................75
     4.7.4 Version ..................................................76
    4.8 Component Properties ........................................77
     4.8.1 Descriptive Component Properties .........................77
       4.8.1.1 Attachment ...........................................77
       4.8.1.2 Categories ...........................................78
       4.8.1.3 Classification .......................................79
       4.8.1.4 Comment ..............................................80
       4.8.1.5 Description ..........................................81
       4.8.1.6 Geographic Position ..................................82
       4.8.1.7 Location .............................................84
       4.8.1.8 Percent Complete .....................................85
       4.8.1.9 Priority .............................................85
       4.8.1.10 Resources ...........................................87
       4.8.1.11 Status ..............................................88
       4.8.1.12 Summary .............................................89
     4.8.2 Date and Time Component Properties .......................90
       4.8.2.1 Date/Time Completed ..................................90
       4.8.2.2 Date/Time End ........................................91
       4.8.2.3 Date/Time Due ........................................92
       4.8.2.4 Date/Time Start ......................................93
       4.8.2.5 Duration .............................................94
       4.8.2.6 Free/Busy Time .......................................95
       4.8.2.7 Time Transparency ....................................96
     4.8.3 Time Zone Component Properties ...........................97
       4.8.3.1 Time Zone Identifier .................................97
       4.8.3.2 Time Zone Name .......................................98
       4.8.3.3 Time Zone Offset From ................................99
       4.8.3.4 Time Zone Offset To .................................100
       4.8.3.5 Time Zone URL .......................................101
     4.8.4 Relationship Component Properties .......................102
       4.8.4.1 Attendee ............................................102
       4.8.4.2 Contact .............................................104
       4.8.4.3 Organizer ...........................................106
       4.8.4.4 Recurrence ID .......................................107
       4.8.4.5 Related To ..........................................109
       4.8.4.6 Uniform Resource Locator ............................110
       4.8.4.7 Unique Identifier ...................................111
     4.8.5 Recurrence Component Properties .........................112
       4.8.5.1 Exception Date/Times ................................112
       4.8.5.2 Exception Rule ......................................114
       4.8.5.3 Recurrence Date/Times ...............................115
       4.8.5.4 Recurrence Rule .....................................117
     4.8.6 Alarm Component Properties ..............................126
       4.8.6.1 Action ..............................................126
       4.8.6.2 Repeat Count ........................................126
       4.8.6.3 Trigger .............................................127



Dawson & Stenerson          Standards Track                     [Page 4]

RFC 2445                       iCalendar                   November 1998


     4.8.7 Change Management Component Properties ..................129
       4.8.7.1 Date/Time Created ...................................129
       4.8.7.2 Date/Time Stamp .....................................130
       4.8.7.3 Last Modified .......................................131
       4.8.7.4 Sequence Number .....................................131
     4.8.8 Miscellaneous Component Properties ......................133
       4.8.8.1 Non-standard Properties .............................133
       4.8.8.2 Request Status ......................................134
   5 iCalendar Object Examples......................................136
   6 Recommended Practices..........................................140
   7 Registration of Content Type Elements..........................141
    7.1 Registration of New and Modified iCalendar Object Methods ..141
    7.2 Registration of New Properties .............................141
     7.2.1 Define the property .....................................142
     7.2.2 Post the Property definition ............................143
     7.2.3 Allow a comment period ..................................143
     7.2.4 Submit the property for approval ........................143
    7.3 Property Change Control ....................................143
   8 References.....................................................144
   9 Acknowledgments................................................145
   10 Authors' and Chairs' Addresses................................146
   11 Full Copyright Statement......................................148

1 Introduction

   The use of calendaring and scheduling has grown considerably in the
   last decade. Enterprise and inter-enterprise business has become
   dependent on rapid scheduling of events and actions using this
   information technology. However, the longer term growth of
   calendaring and scheduling, is currently limited by the lack of
   Internet standards for the message content types that are central to
   these knowledgeware applications. This memo is intended to progress
   the level of interoperability possible between dissimilar calendaring
   and scheduling applications. This memo defines a MIME content type
   for exchanging electronic calendaring and scheduling information. The
   Internet Calendaring and Scheduling Core Object Specification, or
   iCalendar, allows for the capture and exchange of information
   normally stored within a calendaring and scheduling application; such
   as a Personal Information Manager (PIM) or a Group Scheduling
   product.

   The iCalendar format is suitable as an exchange format between
   applications or systems. The format is defined in terms of a MIME
   content type. This will enable the object to be exchanged using
   several transports, including but not limited to SMTP, HTTP, a file
   system, desktop interactive protocols such as the use of a memory-
   based clipboard or drag/drop interactions, point-to-point
   asynchronous communication, wired-network transport, or some form of



Dawson & Stenerson          Standards Track                     [Page 5]

RFC 2445                       iCalendar                   November 1998


   unwired transport such as infrared might also be used.

   The memo also provides for the definition of iCalendar object methods
   that will map this content type to a set of messages for supporting
   calendaring and scheduling operations such as requesting, replying
   to, modifying, and canceling meetings or appointments, to-dos and
   journal entries. The iCalendar object methods can be used to define
   other calendaring and scheduling operations such a requesting for and
   replying with free/busy time data. Such a scheduling protocol is
   defined in the iCalendar Transport-independent Interoperability
   Protocol (iTIP) defined in [ITIP].

   The memo also includes a formal grammar for the content type based on
   the Internet ABNF defined in [RFC 2234]. This ABNF is required for
   the implementation of parsers and to serve as the definitive
   reference when ambiguities or questions arise in interpreting the
   descriptive prose definition of the memo.

2 Basic Grammar and Conventions

   The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
   "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY" and
   "OPTIONAL" in this document are to be interoperated as described in
   [RFC 2119].

   This memo makes use of both a descriptive prose and a more formal
   notation for defining the calendaring and scheduling format.

   The notation used in this memo is the ABNF notation of [RFC 2234].
   Readers intending on implementing this format defined in this memo
   should be familiar with this notation in order to properly interpret
   the specifications of this memo.

⌨️ 快捷键说明

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