mod_spdy: SPDY-Modul für Apache ist reif für den Einsatz

Im Dezember 2011 kündigte Google offiziell die Entwicklung von mod_spdy an und veröffentlichte zugleich eine Betaversion des Apache-Moduls. Seitdem wurden diverse Fehler in mod_spdy beseitigt, so dass jetzt eine Version zur Verfügung steht, die Google für den produktiven Einsatz empfiehlt(öffnet im neuen Fenster) .
Mit mod_spdy kann Apache mit Browsern, die das Protokoll SPDY beherrschen, Daten auf diesem Weg austauschen. Die HTTP-Alternative SPDY soll die Ladezeit von Webseiten um rund 55 Prozent reduzieren. Auf Browserseite wird SPDY unter anderem von Google Chrome und Vorabversionen von Mozillas Firefox unterstützt.
Einer der entscheidenden Faktoren für die Geschwindigkeitssteigerung durch SPDY ist das sogenannte Multiplexing: SPDY erlaubt es, mehrere HTTP-Requests in einer einzigen TCP-Session abzuwickeln. Das reduziert die Bandbreite gegenüber dem heute genutzten HTTP durch Eliminierung von überflüssigen Headern und Komprimierung. Zudem müssen weniger Verbindungen zwischen Client und Server aufgebaut werden.
Doch gerade die Umsetzung von Multiplexing ist in Apache besonders schwierig, da die Architektur des Webservers es eigentlich nicht vorsieht, mehr als einen HTTP-Request pro Verbindung abzuwickeln. Die Verarbeitung von Verbindungen und Requests erfolgt normalerweise in einem Thread: Beginnt Apache damit, einen Request zu verarbeiten, geht die Kontrolle an den Request-Handler über und wird danach auch nicht wieder an den Connection-Handler zurückgegeben.
Um das SPDY-Multiplexing dennoch innerhalb von Apache zu ermöglichen, teilt mod_spdy die Verarbeitung von Verbindungen und Requests in unterschiedliche Threads auf: Der Connection-Thread kümmert sich um das Decodieren der SPDY-Frames und reicht die daraus generierten SPDY-Requests an den neuen Threadpool von mod_spdy. So kann dann jeder Request von einem eigenen Thread verarbeitet und somit mehrere Anfragen gleichzeitig abgewickelt werden. Wie mod_spdy im Detail arbeitet, erläutern Entwickler in einem Wiki-Eintrag(öffnet im neuen Fenster) .
Die Entwicklung von mod_spdy geht indessen weiter: Das Modul soll um weitere Funktionen ergänzt und weiter optimiert werden. Zudem stehen Anpassungen an neue Versionen des Protokolls an, wird SPDY doch auch als aussichtsreicher Kandidat für HTTP/2.0 gehandelt.