Zusammenfassung

  • RFC 1176 machte FIND MAILBOXES und FIND BBOARDS optional. Auf BAD konnte ein Client keine eindeutige Diagnose stützen.
  • RFC 1203 nannte sich ausdrücklich Gegenentwurf und schlug die Abfrage unterstützter Versionen sowie die Auswahl von Version und Funktionen vor.

Die Schaltfläche „Postfächer suchen“ hatte 1990 eine eigenartige Geschäftsgrundlage: Vielleicht gab es den Dienst dahinter. RFC 1176 erklärte FIND MAILBOXES für optional. Ein BAD als Antwort ließ laut Dokument keine Schlussfolgerung über die Ursache zu. Auch FIND BBOARDS wurde so behandelt. Der Server kannte seine Ausstattung, doch der Client bekam keinen Befehl, sie vorab zu erfragen. Jeder Programmierer musste eine Oberfläche um diese Ungewissheit bauen.

John Rice antwortete im Februar 1991 mit RFC 1203. Schon in der Einleitung heißt der IMAP3-Text ein Gegenentwurf zu RFC 1176. Rice behauptete, die frühere Überarbeitung sei ohne interne Rücksprache mit der IMAP-Gemeinschaft entstanden. Das ist seine Darstellung des Verfahrens. Der konkrete technische Streit steht unabhängig davon in beiden Dokumenten: optionale Befehle auf der einen Seite, ein Verfahren zur vorherigen Abfrage auf der anderen.

SUPPORTED.VERSIONS sollte die vom Server angebotenen Protokollversionen und Funktionen liefern. SELECT.VERSION legte die gewünschte Version fest, SELECT.FEATURES einzelne Fähigkeiten. Das Beispiel im Entwurf fragt zuerst nach dem Angebot, wählt dann Version 3.0 und aktiviert TAGGED.SOLICITED. Eine nicht angebotene Auswahl beantwortet der Server mit NO. Damit kann das Mailprogramm erst die Verbindung prüfen und danach entscheiden, welche Befehle auf dem Bildschirm Platz haben.

Der alte Zugang blieb absichtlich bestehen. Ohne neue Auswahl verhielt sich eine Verbindung wie IMAP2 nach RFC 1064. Rice wollte die bestehenden Clients weiter bedienen. Die Version musste vor der Wahl eines Postfachs feststehen: Ein Server könnte für eine andere Protokollversion ein anderes Programm starten, wobei Sitzungszustand verloren geht. Der Entwurf verlegte das Umschalten an eine Stelle, an der noch kein Postfachzustand daran hängt.

Auch über den Arbeitsspeicher des Clients wurde gestritten. Der Anhang von RFC 1176 schrieb einen lokalen Cache vor, ein unvollständiges Abbild des Postfachs, das Serverantworten ergänzen. RFC 1203 wandte sich dagegen, dass das Protokoll eine bestimmte Cache-Architektur voraussetzt. Bei Antworten unterschied es angeforderte Daten mit dem Tag des Befehls von eigenständig gesendeten Daten mit *. Das sollte auch mehrere gleichzeitige Suchvorgänge und verzögerte Antworten von langsamem Speicher beherrschbar machen. Ein Treffer braucht eine Herkunft, nicht nur einen Platz in der Ausgabe.

Der RFC-Editor-Eintrag führt RFC 1203 heute als Historic; für das Internet war der Vorschlag zunächst Experimental. Daraus folgt keine Zahl installierter Server. Die erhaltenen Papiere zeigen jedoch einen scharfen Konflikt über technische Verantwortung. „Optional“ ist für den Verfasser schnell geschrieben. Für jeden Client ohne Erkundungsweg wird daraus dauerhaft Arbeit.

Quellen