Leider bietet der iPhone-Browser wie die meisten mobilen Internetbrowser keine Plugin- oder Erweiterungsstruktur, wie man es von Ihren Desktop-Pendants kennt. Gerade auf mobilen Plattformen kommt es darauf an, Kommunikationsbandbreiten nicht mit unnützem wie Werbung oder Gedudel zu verschwenden. Da trotz UMTS und HSDPA Webseiten eher durch den Äther schleichen als zu rasen. Außerdem lassen sich dadurch die begrenzten Ressourcen der kleinen tragbaren Geräte weiter schonen in dem man sie nicht darauf verschwendet Werbung anzuzeigen. Das freut die Akkulaufzeit. Wenn man also nicht Plugins für den Browser entwickeln kann, dann muss man den Datenstrom manipulieren, der den mobilen Webseitendarsteller erreicht. Dafür benutzt man in der Regel Proxyserver, die sich problemlos in den meisten mobilen Betriebssystemen einstellen lassen. Dabei gibt es Proxy in vielen verschiedenen “Geschmacksrichtungen, die auch noch unterschiedlich miteinander verkettet werden können. Die einfachste Form ist das Zwischenspeichern von Webinhalten, und sein bekanntester Vertreter ist der Squid Webcache. Für mein iPhone habe ich mir jetzt folgende Proxy-Chain eingerichtet.

Ziproxy > Squid > Privoxy

Ziproxy als Station Nummer eins manipuliert den Webdatenstrom in der Form, dass der Inhalt verlustfrei oder verlustbehaftet, je nach Konfiguration, komprimiert übertragen wird und dadurch weniger Daten insgesamt übertragen werden müssen. Bilder können zum Beispiel mit dem JPEG2000-Verfahren sehr stark erneut komprimiert werden. Dadurch leidet zwar die Darstellungsqualität aber darauf kommt es mir auf dem iPhone weniger an als auf dem Desktop zum Beispiel.

Squid speichert die Daten vom Ziproxy zwischen. Dadurch müssen unter Umständen die Inhalte nicht immer wieder neu geladen werden, denn Serverbandbreite kostet immer auch Geld. Mein Server ist mit einem üppigen Inklusiv-Transfer-Volumen ausgestattet aber das muss man ja nicht mit vollen Händen zum Fenster rauswerfen. Dadurch, dass Ziproxy vorgeschaltet ist, sind alle Daten im Cache bereits komprimiert abgelegt und würde nicht bei jeder Anfrage erneut komprimiert werden, wenn die beiden Programme in umgekehrter Reihenfolge arbeiten würden.

Als letzte Station kommt Privoxy ins Spiel. Privoxy filtert Werbung und Adobe-Flash Inhalte aus den Webseiten. Dadurch kann sich so machen Ladezeit drastisch verkürzen. Flash wird auf dem iPhone sowieso nicht angezeigt. Da kann sich Safari somit die Anfrage an den Server sparen. Werbung wird mit Hilfe von regulären Ausdrücken erkannt und markiert. Diese markierten Code-Schnippsel werden anschließend so manipuliert, dass sie vom mobilen Safari nicht mehr angefragt werden. Das Ergebnis möchte ich euch in den folgenden 2 Bildern zeigen.

Das ist die Standarddarstellung von Spiegel.de auf dem iPhone Safari. Man kann deutlich die große gelbe “Bandenwerbung” erkennen. Neben Rüttgers’ Konterfei ist außerdem ein leerer weißer Kasten zu finden. In diesem läuft eigentlich ein Flash-Werbe-Filmchen.

Die Bandenwerbung ist weg und der leere Block gibt seinen Platz frei für die nachfolgenden Textelemente. Die neu-Kompression der Bilder ist auf diesem Screenshot nicht sehr gut zu erkennen. Die Ladezeit der Seiten hat sich gefühlt drastisch verkürzt.

Durch die Einrichtung einer VPN-Verbindung zwischen iPhone und Proxy kann der Datenstrom zusätzlich gegen Abhören abgesichert werden und es kann gleichzeitig ermöglicht werden, dass der Proxy auch über die Edge/UMTS-Verbindung benutzt wird. Aber dazu vielleicht ein anderes mal mehr.

Allesblog#adblock#Browser#Cache#iPhone#Kompression#Proxy