Interview mit Alexey Melnikov

„Ein gutes Protokoll ist kein Garant für ein gutes API.“

Matthias Weßendorf

Alexey Melnikov von Isode im Jaxenter-Interview über die Standardisierung von WebSockets, die schrittweise Ablösung von HTTP und die Rolle von SPDY.

Java Magazin

Das Interview „Ein gutes Protokoll ist kein Garant für ein gutes API.“ von Matthias Weßendorf und Alexey Melnikov ist erstmalig erschienen im Java Magazin 5.2012.

Matthias Weßendorf: WebSocket ist mittlerweile ein offizieller Standard (RFC 6455). Wie wichtig war es, die Spezifikation fertig zu stellen?

Alexey Melnikov: Das war eines unserer obersten Ziele. Es gab etwas Druck von außen, durch Webbrowserfirmen, die erste Implementierungen ausliefern wollten. Aber die Working Group setzte sich nun mal aus Menschen zusammen, die nicht nur allesamt sehr clever waren, sondern auch ihre jeweils eigenen Vorstellungen hatten. Deshalb war es etwas kompliziert, sich auf ein Design zu einigen.

Weßendorf: Mit welchen Punkten setzte sich die Expertengruppe in diesem Zeitraum hauptsächlich auseinander?

Melnikov: Die kontroversesten beziehungsweise zeitaufwändigsten Fragen waren erstens, ob wir über die Ports 80 und 443 oder einen speziell dafür vorgesehenen TCP-Port gehen wollten, zweitens, wie der Wechsel vom HTTP- zum WebSocket-Protokoll angegangen werden sollte, drittens wurde diskutiert, wie sehr große Benachrichtigungen zu behandeln waren und viertens, wie Fehler zu melden waren. Fünftens war da noch die Protokollerweiterung: Hier musste überlegt werden, welche Möglichkeiten diesbezüglich zur Verfügung gestellt werden sollten. Zu guter Letzt stand die Arbeit mit bereits existierenden HTTP Proxies auf der Agenda. Das hatte zur Folge, dass Frame Masking hinzugefügt wurde.

Weßendorf: WebSocket hat durch ein mögliches Sicherheitsproblem mit einigen wenigen http_Proxy-Servern Aufsehen erregt. Diese wurden ziemlich schnell von der Working Group angesprochen.

Melnikov: In der Tat. Das entfachte in der Working Group heiße Diskussionen, weil das, was getestet wurde, eine viel ältere Version des WebSocket-Protokolls war. Es handelte sich also um eine völlig andere als die, an der in der Working Group zu jener Zeit gearbeitet wurde, als von besagtem „Sicherheitsproblem“ berichtet wurde. Entsprechend schwierig war es, zu entscheiden, ob diese Diskussion auch das aktuelle WebSocket-Protokoll betraf oder nicht.

Weßendorf: Was halten Sie von den Protokollspezifikationen anstelle von einheitlichen APIs auf verschiedenen Plattformen?

Melnikov: Beides ist wichtig. Protokoll und API-Spezifikationen müssen gut aufeinander abgestimmt sein, aber ein gutes Protokoll ist noch lange kein Garant für ein gutes API oder umgekehrt.

Weßendorf: Was ist an weiteren Releases in puncto WebSocket-Spezifikation geplant?

Melnikov: Die HYBI Working Group diskutiert gerade über einige Erweiterungen wie Multiplexing und Per Frame Compression. Wenn oder falls mehr Klarheit herrscht, was die WebSocket-Spezifikation angeht, wird die Working Group vermutlich mit einer Überarbeitung beginnen. Aber im Moment gibt es diesbezüglich keine konkreten Pläne.

Weßendorf: Verfolgt ihr, was gerade mit SPDY passiert? Hat das irgendeine Auswirkung auf die Arbeit an der WebSocket-Spezifikation?

Melnikov: Das hat keine direkten Auswirkungen auf die Arbeit an WebSocket. Es ist vielleicht möglich, SPDY zu erweitern, um es künftig als Vehikel für WebSocket zu verwenden. Es gibt da eine weitere IETF (Internet Engineering Task Force, Anm. d. Red.) Working Group: HTTPBIS. Die hat gerade angefangen, sich mit HTTP/2.0 zu beschäftigen. Auch hier könnte das Protokoll SPDY künftig eine Rolle spielen.

Alexey Melnikov ist Internet Messaging Team Lead bei der britischen Softwarefirma Isode, wo man ihn auch unter seiner inoffiziellen Berufsbezeichnung „Zar der Standardisierung“ kennt. Als Autor und Mitherausgeber hat er mehr als 40 RFCs veröffentlicht, die Themen wie Anwendungsschichtsicherheit, Anwendungsoptimierung für mobile Netzwerke und E-Mail abdecken. Er ist Koautor des WebScoket-Protokolls RFC und war früher für die IETF Working Group zuständig, die das WebSocket-Protokoll entwickelte.
Geschrieben von
Matthias Weßendorf
Kommentare

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.