Seit geraumer Zeit setze ich den Firefox zunehmend nicht nur zum
Entwickeln von Webseiten ein, sondern er verdrängt zumindest momentan den
zuvor von mir präferierten Konqueror
auf beim normalen surfen. Deshalb war ich in letzter Zeit öfters irritiert,
wenn ich mit Google etwas suchte und dann urplötzlich mit der
Frage konfrontiert wurde, dass Site XYZ gerne ein paar Cookies setzen
möchte und ob ich dies denn zulassen wolle.
Heute war ich genervt und schmiss den Sniffer an. Und tatsächlich: wie
vermutet prefetched der Firefox Web-Seiten. Es ist möglich, dieses
Verhalten zu ändern. In den detaillierten Konfigurationseinstellungen, die
sich mittels about:config finden lassen, befindet sich ein
passender Schalter. Mittels network.prefetch-next kann man
den Mechanismus einfach und schnell ausschalten. Standardmäßig ist er in
Firefox 2.0 aktiviert.
Der genaue Mechanimus war mir allerdings nicht klar. Es gibt haufenweise Links
die erklären wie man prefetching abschaltet, aber kaum welche,
in denen erklärt wird, wie es läuft. Also guckte ich mir die HTML-Auszeichnungen
der Ergebnisseite Googles an...
Google versieht die Seite mit einem link-Tag, dass die URL des ersten
Ergebnisses enthält. Dieses Link-Tag ist mit einem
rel="prefetch" Attribut versehen. Ausgestattet mit diesem
Wissen war es einfach eine
vernünftige Erklärung der Prefetch-Implementation zu
finden. Firefox prefetched alle HTTP-URL's, bei denen die dargestellte Seite
mit dem <link rel="prefetch" href="URL"-Tag benannt werden,
die mittels eines HTTP Link-Headers benannt werden oder die Link-Metatag
ausgezeichnet sind.
Ich muß vermutlich nicht sagen, dass ich kein großer Freund dieser
Auszeichnungen durch Google bin. Es werden durch dieses Verhalten
ohne mein Wissen und meine Zustimmung Verbindungen zu Fremdanbietern aufgebaut.
Es werden Verbindungsdaten übermittelt und für den Fall, dass Cookies automatisch
akzeptiert werden, Cookies gesetzt, die späteres Tracking erlauben. Und auch
unabhängig von Googles Auszeichnung scheint mir Prefetching solcher Art ganz allgemein
mit einer Vielzahl von Nachteilen behaftet zu sein.
Argumente gegen Prefetching
- Das Verfahren ist nicht transparent. Dieses Feature ist im
Auslieferungszustand ohne Wissen des Benutzer aktiviert. Es existiert
kein DAU-freundliches Interface um es abzuschalten.
- Das Verfahren hat unter Umständen Auswirkungen auf die Privatssphäre. Es
widerspricht dem Anspruch auf informationelle
Selbstbestimmung.
- Prefetching hat Auswirkungen auf die eigene Bandbreite. Zwar prefetched
Firefox nur, wenn keine anderen
eigenen Anfragen laufen, - dass aber andere Anwendungen wohlmöglich auch
gerade Bandbreite beanspruchen wird unberücksichtigt gelassen. Bei
geringer Bandbreite kann so also ungewollt die Leitung saturiert
werden. Und: bei volumenabhängiger Berechnung entstehen unnötige Kosten.
- Es wird beim Setzen von Prefetch-Hints auf externe
Anbieter deren Bandbreite verschwendet. Dieser Effekt ist proportional
zur Anzahl der Besucher der hint-setzenden Site. Abgesehen davon, dass
ich es eine Frechheit finde, dergestalt über die Bandbreite von
Fremdanbietern zu verfügen, hat dieses unter Umständen auch
Sicherheitsimplikationen. Eine gehackte hochfrequentierte Site könnte
so für DDoS-Angriffe genutzt werden.
- Last but not least: es werden Statistiken verfälscht. Dieser Aspekt interessiert
mich persönlich relativ wenig, zumal ich von der Aussagekraft vieler
"Besucher-Statistiken" ohnehin nur mäßig überzeugt bin. Er wird aber
einige ärgern, die an aussagekräftige Statistiken glauben. Ohne etwas
Aufwand (dem Erfassen des
X-moz: prefetch-Headers und der
Bereinigung der Logfiles um derart gekennzeichnete Anfragen) zu
betreiben, hat man ansonsten unter Umstände einen ganze Reihe
virtueller Besucher. Aber dies mag manchem ja ganz recht sein...