# Webcache (Filesharing)

Webcache bezeichnet eine Caching-Technologie, die es Tauschbörsen erlaubt, die Proxyserver eines Internetdienstanbieters als Zwischenspeicher für Daten zu verwenden. Das Ziel dabei ist eine schnellere Datenübertragung an mehrere Clients. Einige Modifikationen des eMule-Clients sowie Dienste, wie Proxyshare, nutzen diese Technologie, um Downloadgeschwindigkeiten zu beschleunigen. Im Gegensatz zu PeerCache kann dafür bereits vorhandene Hardware verwendet werden, was Neuanschaffungskosten seitens des Anbieters vermeidet.
Stellt ein Internetdienstanbieter keinen Proxyserver zur Verfügung, kann die Webcache-Technologie auch mit Hilfe fremder Proxyserver verwendet werden. Ist dies der Fall, kommt es jedoch häufig zu Geschwindigkeitseinbußen, da Server fremde Clients oft benachteiligen.

## Technisches Prinzip

Um Webcaches zu verwenden, müssen sich der Sender und alle Empfänger mit demselben Proxy-Server verbinden. Typischerweise ist dies ein Server des gemeinsamen Providers.
Zuerst teilt der Sender die Daten in hinreichend kleine Datenblöcke auf. Er weist dabei jedem Block einen eigenen Namen zu, den er allen Empfängern mitteilt.
Danach verbindet er sich mit nur einem Empfänger und beginnt die Datenübertragung. In diesem Schritt speichert der Proxy-Server die Datenblöcke zwischen. Diese Übertragung ist noch nicht beschleunigt.
Ist die erste Übertragung beendet, fragen dann die anderen Empfänger dieselben Datenblöcke an, die nun in dem Cache des Proxy-Servers gespeichert sein sollten. Diese Übertragungen sollten nun beschleunigt sein, da der Proxy-Server die Anfragen aus seinem Speicher beantwortet. Somit würden die Geschwindigkeitseinbußen der Verbindung zwischen Sender und Proxy-Server wegfallen.
Zu beachten ist, dass es nicht garantiert ist, wann und welche Datenblöcke der Proxy-Server zwischenspeichert, weshalb der Geschwindigkeitsvorteil variieren kann.

### Funktionsweise in Modifikationen des eMule-Clients

Webcache-fähige (modifizierte) eMule-Clients kommunizieren mit Hilfe einer abwärtskompatiblen Protokollerweiterung miteinander.
Bei Verbindungsaufbau wird zudem geprüft bzw. ausgetauscht, ob Sender und Empfänger Webcache-fähig sind.
Die einzelnen Datenblöcke sind hier 180 Kilobyte groß und werden einer URL zugeordnet.
Die Bereitstellung der Daten findet mit dem in eMule integrierten Webserver via HTTP, anstelle des EDonkey2000-Protokolls, statt.

## Vorteile

* Auf Seiten der Empfänger können Daten mit der Geschwindigkeit heruntergeladen werden, die der Proxy-Server zulässt. Diese ist im Regelfall nur durch die Bandbreite des Empfängers begrenzt.
* Die Verteilung von Daten geschieht schneller und effizienter. Im hypothetischen Idealfall müsste eine Datei nur einmal hochgeladen werden, damit sie von allen Kunden desselben Providers heruntergeladen wird.
* Es wird weniger Bandbreite von Provider zu Provider benötigt, da Daten nach einmaligem Austausch providerintern bleiben.
* Da mit Webcaches die bereits vorhandene Infrastruktur der Provider genutzt wird, wird kein rechtliches Risiko eingegangen.
* Entgegen der klassischen Handhabung vieler Sharehoster, wird für den Download einer Datei kein erneuter Upload eingefordert (kein Kredit-System).
* Datenblöcke werden verschlüsselt, weshalb Providern keine Mitwisserschaft vorgeworfen werden kann, falls es sich bei den übertragenen Daten um urheberrechtlich geschütztes oder anderweitig illegales Material handeln sollte.

## Geschichte

Die Programmierung des Webcache-Features wurde von dem Programmierer SuperLexx begonnen. Planung und Vorüberlegungen fanden dazu in dem Entwicklerforum von eMule in einem über 20 Seiten langen Thread statt, der von dem Nutzer Sufcrusher erstellt wurde.
Aufgrund dieser Diskussion erstellte der Nutzer Brunni eine Homepage, auf der das Prinzip von Webcaches erläutert wurde. Auch ein eigenes Forum wurde eingerichtet. Da das Feature nicht programmiert wurde und das eMule-Team kein Interesse zeigte, wurde das Projekt über ein Jahr aufgeschoben und die Entwicklung aus zeitlichen Gründen eingestellt.
Der Entwickler von eMule-Morph hat später die Entwicklung wieder aufgenommen, einige Verbesserungen hinzugefügt und Fehler korrigiert. Die Homepage des Projekts, die auf SourceForge lag, wurde jedoch deaktiviert, da eine zu hohe Auslastung durch die automatische Proxy-Protokollierung entstand. Bei jedem Verbinden mit einem EDonkey2000-Server wurde eine Anfrage an ein PHP-Skript geschickt, die den zweiten Teil der DNS des Clients als Parameter übergab (z. B. dip0.t-dialin.net). Mit Hilfe einer MySQL-Anfrage, wurde der entsprechende Proxy mit Einstellungsdaten ermittelt und als XML zurückgegeben. Dies war wohl eine der größten Schwachstellen. Die Idee schien gut, viele Nutzer der Plattform berichteten von Downloadsteigerungen von bis zu 30 %, erkennbar an den meist 180 Kilobit großen Peaks, die während des Downloads auftraten.
Weil es jedoch zu umständlich war, den Proxyserver des eigenen Providers herauszufinden und die meisten Nutzer nur die Server des eigenen Providers nutzen wollte, konnten sich die Webcache-Technologie kaum noch verbreiten.
Ebenso hatten die Entwickler der Webcache-Modifikation auch stetig mit Vorurteilen zu kämpfen.
Zeitweilig wurden im spanischen Raum sogar freie Proxyserver aufgestellt die von jedermann benutzt werden konnten. Als die Entwickler von eMule-Morph (damals das Flaggschiff aller Webcache-Versionen) das Webcache-Feature aus ihrer Version wieder rausnahmen, wurden jedoch auch diese Server wieder geschlossen. Damit begann das Ende der Webcache-Ära und seine Expansion innerhalb der Peer-to-Peer-Community.

## Kritik

In der offiziellen eMule-Version und einigen eMule-Modifikationen (z. B. Xtreme) wird auf eine Webcache-Integration verzichtet. Dies ist vor allem zurückzuführen auf verschiedene Kritiken an der Webcache-Technologie:
* Webcaches seien ein Missbrauch von Proxyservern der Provider. Öffentliche Proxyserver werden für eigene Zwecke missbraucht und können überlasten.
* Aufgrund teils tiefgreifender Softwarefehler in frühen Webcache-Implementierungen geriet die Technologie in Misskredit.
* Downloads, die mit Webcache-Technologie durchgeführt werden, haben ein hohes Risiko fehlzuschlagen, da Proxyserver die zwischengespeicherten Datenpakete nach kurzer Zeit bereits wieder löschen.
* Webcaches wurden obsolet, da der Geschwindigkeitsvorteil durch den fortgeschrittenen Breitbandausbau überflüssig wurde.

## Weitere Filesharing-Applikationen mit Webcache-Unterstützung

* Lphant (kompatibel zu eMule)
* Proxyshare (inkompatibel zu eMule)