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…