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 + -
显示快捷键?