要約
- RFC 2447 は iTIP をメールで運ぶ方法を定め、MIME の境界と予定オブジェクトの境界をつないだ。
- 普通の文章と
text/calendarは同じ予定を異なる読み手に示すもので、異なる時刻を並べる選択肢ではない。
一通のメールを開くと、別のプロトコルが現れる
メールの差出人欄と件名は、人には予定の全体像のように見える。カレンダーソフトは、どこに構造化された予定があり、どの処理を指すのかを別に判断しなければならない。RFC 2447(iMIP)は1998年、この継ぎ目を埋めた。iCalendar が予定データを定義し、iTIP がスケジューリング操作を定義し、MIME がそれを電子メール内のパーツとして運ぶ。iMIP はそれらを統合して一つの万能な「招待プロトコル」にしたのではなく、メールを既存のカレンダープロトコルの運搬路にした。
その運搬路では、カレンダー部分を text/calendar として識別する。さらに MIME ヘッダーの method パラメーターは、オブジェクト内の METHOD プロパティと同じ値でなければならない。外側の型情報だけではオブジェクトの意味を置き換えられず、内側の値だけでは MIME パーツの扱いを決められない。両者が対応して、メール処理系はカレンダー部分を見つけ、予定表処理系はそれを解釈できる。複数のオブジェクトが別々のメソッドを持つ場合は、各々を別の text/calendar パーツとし、multipart/mixed にまとめる。
人間向けの文章は、第二の予定表ではない
当時のメールソフトすべてがカレンダー形式を理解できたわけではない。そこで MIME は、同じメッセージに通常の文章と構造化されたカレンダーオブジェクトを含められるようにした。テキスト表示しかできないソフトでも日時や場所を読める一方、対応クライアントは text/calendar を処理できる。multipart/alternative が結び付けるのは、同じ予定の異なる表現である。
この意味を取り違え、二つの開始時刻を別々の VEVENT として「alternative」に入れると、利用者はどちらが招待でどちらが訂正なのか判断できない。MIME の別表現は表示能力の差を埋めるためのものだ。時刻の提案や変更は iTIP の操作で表す。封筒の構造と予定の意思決定は別の層にある。
文字コードと転送エンコーディングは、この構造がメール経路で壊れずに運ばれるための条件だった。US-ASCII の外にある文字を含む場合の charset 宣言や、経路の制限に合わせた転送方式が仕様化された。RFC 6047 は2010年に RFC 2447 を置き換え、メッセージ形式と S/MIME の要件を更新した。正しくデコードできることは表現の保全を示すが、受信箱への配達や予定表への保存を示さない。
添付を参照する Content-ID や Message-ID も注意を要する。識別子だけを予定オブジェクトに記しても、受信側に参照先へのアクセス権があるとは限らない。RFC 2447 は、可能なら参照する MIME パーツも一緒に送ることを勧めた。場所を示す情報は、内容のコピーでも閲覧許可でもない。
メールの Sender が予定の Organizer と同じとも限らない。転送者が封筒の差出人となり、メールソフトはカレンダー上の役割を Reply-To に写す義務を負っていない。そのため RFC 2447 は、text/calendar の ORGANIZER と ATTENDEE を確認するよう求めた。RFC 1847 の MIME セキュリティ多部分は認証の選択肢を与え、RFC 6047 は S/MIME 認証を要求した。ただし、署名は保護された部分についての根拠であり、配達、クライアントの処理、出席への同意を証明しない。
RFC 2447 は1998年11月に Standards Track として公開され、2010年に RFC 6047 によって obsolete となった。この年表はトランスポート接続層が更新されたことを示すが、製品の普及率を示すものではない。歴史的な要点はむしろ分離にある。予定の意味はカレンダーオブジェクトにあり、MIME はその梱包を定め、メールはそれを運ぶ。送信済みという状態を、予定が適用された証拠に変えてはならない。
出典
- RFC 2447 — iCalendar Message-Based Interoperability Protocol (iMIP)
- RFC 2447 の状態と履歴
- RFC 6047 — iCalendar Message-Based Interoperability Protocol (iMIP)
- RFC 6047 の状態
- RFC 2446 — iCalendar Transport-Independent Interoperability Protocol
- RFC 5546 — iTIP 改訂
- RFC 5545 — iCalendar
- RFC 1847 — MIME セキュリティ多部分
- RFC 2045 — MIME 形式
- RFC 2046 — MIME メディアタイプ
- RFC 2047 — MIME エンコードヘッダー
- RFC 2049 — MIME 適合性
- RFC 5322 — Internet Message Format
- RFC 822 — RFC 2447 が参照する旧メッセージ形式
- RFC 3283 — Internet カレンダーガイド
- RFC 2111 — Content-ID と Message-ID の URL
- IANA iCalendar レジストリ
- Heng Lu — “Running-Code Primacy”
- Heng Lu — “Minimum Initial Specification, Localized Future Decision, and Voluntary Adoption”
- Heng Lu — “On Reality Layers, Symbolic Power, and Why Clarity Feels So Hostile”
会員向け解説
プロフィールの詳細
適切な会員レベルでログインすると、解説全文と出典メモをご覧いただけます。
Strategic Circle 限定
Strategic Circle
すべての読者に公開されています。参加してログインすると プロフィール解説 を閲覧できます。
Strategic Circle に参加Leadership Alliance 会員限定
Leadership Alliance
対象となる IP 資産の所有者・管理者向けです。ログインすると Leadership Alliance の解説を閲覧できます。
Leadership Alliance に参加
