Versionverhandlung
Versionverhandlung bezeichnet das Verfahren, bei dem zwei oder mehr Kommunikationspartner festlegen, welche Version eines Protokolls, Datenformats oder einer API zum Austausch von Informationen verwendet wird. Ziel ist Kompatibilität, Sicherheit und Vorhersagbarkeit der Interaktion, insbesondere bei Weiterentwicklungen von Spezifikationen.
Sie tritt in verteilten Systemen, Web- und API-Architekturen, Messaging-Protokollen, Speichersystemen und Geräten auf. Typische Szenarien sind
Mechanismen umfassen explizite Versionsangaben in Verbindungsaufbau oder Requests, Fähigkeit- und Funktionsverhandlung, gegebenenfalls Downgrade- oder Upgrade-Strategien sowie
Ablauf: Beteiligte tauschen unterstützte Versionen oder Features aus, prüfen Kompatibilität, einigen sich auf eine gemeinsame Version
Herausforderungen umfassen Backward-Kompatibilität, Sicherheitsaspekte, Komplexität Mehrfachunterstützung, Caching verhandelter Versionen sowie Deprecation- und Lebenszyklusmanagement.
Beispiele finden sich in TLS/HTTP-Standards (Aushandlung von Protokollen, ALPN), REST-APIs mit Versionskennzeichnungen, Messaging-Systemen wie MQTT oder