- Compiler Explorer hat seine Speicherstrategie seit 2012 mehrfach geändert, damit geteilte Links lange erhalten bleiben, doch das Ende von goo.gl macht die Bewahrung alter
godbolt.org/g/abc123-Links nun dringend - Anfangs wurde der komplette Compiler-Zustand in der URL gespeichert, 2014 kam der Google-URL-Kürzungsdienst hinzu, und 2016 wurde nach dem Verbot verkürzter URLs auf Stack Overflow der Ausweichlink
godbolt.org/g/abc123eingeführt - Seit 2018, als URL-Längenbeschränkungen stärker zum Problem wurden, wird der Zustand als JSON-Dokument in S3 gespeichert, während DynamoDB die Zuordnung zwischen kurzem Hash und vollständigem Pfad verwaltet
- Wenn Google goo.gl-Links im August 2025 abschaltet, wird die Auflösung alter goo.gl-basierter Links schwierig; deshalb werden rund 12.000
g-Links und ihre Redirect-Ziele aus dem öffentlichen Web und aus Logs in einer eigenen Datenbank gesammelt - Nutzer, die noch alte Compiler-Explorer-Links besitzen, können dazu beitragen, indem sie die Links jetzt aufrufen; gemeinsam genutztes Wissen, das lange bestehen soll, ist sicherer, wenn man die Kerninfrastruktur selbst besitzt
Änderungen bei der Speicherung von Compiler-Explorer-Links
- 2012 wurde der komplette Zustand von Compiler Explorer in der URL selbst gespeichert
- Das Kodieren des vollständigen Compiler-Zustands in die URL führte zu sehr langen und schwer handhabbaren Adressen; im März 2014 kam daher Unterstützung für Googles URL-Kürzer goo.gl hinzu
- Kurze Links hatten damals die Form
goo.gl/abc123; beim Anklicken erfolgte eine Weiterleitung auf die vollständige URL der Compiler-Explorer-Seite, danach wurde der in der URL enthaltene Zustand dekodiert
Ausweichlinks nach dem Stack-Overflow-Verbot
- 2016 verbot Stack Overflow Link-Kürzungsdienste, weil damit das eigentliche Ziel verborgen werden konnte
- Davon waren auch Compiler-Explorer-Links betroffen; damals bestand noch keine Absicht, Nutzerdaten selbst zu speichern
- Die Ausweichlösung bestand darin, weiterhin goo.gl zu verwenden, den Nutzern aber Links der Form
godbolt.org/g/abc123anzubietenabc123war die eindeutige ID von goo.gl- Ein Aufruf von
/g/abc123wurde aufgoo.gl/abc123weitergeleitet - goo.gl leitete dann erneut auf die vollständige godbolt.org-URL mit dem enthaltenen Zustand weiter
- Später wurde die Redirect-Kette mit mehreren Stationen durch die Nutzung der Google-API vermieden
Umstellung auf eigenen Speicher 2018
- 2018 wurden URL-Längenbeschränkungen zu einem noch größeren Problem; die Daten in der URL wurden bereits komprimiert
- Compiler Explorer stellte daher auf eine Struktur um, bei der der Zustand direkt gespeichert wird
- Es wird außerdem geprüft, ob kurze Link-Hashes anstößige Wörter enthalten
- Wenn ein anstößiges Wort erscheint, werden dem Dokument absichtlich zusätzliche Informationen hinzugefügt, damit ein anderer Hash entsteht
- Dieses Verhalten führte zu Bug #1297
Das durch das Ende von goo.gl entstandene Bewahrungsproblem
- Compiler Explorer unterstützt weiterhin
godbolt.org/g/abc123-Links - Google sagte zwar, dass bestehende Links weiterhin auf ihr vorgesehenes Ziel weiterleiten würden, doch goo.gl wurde bereits vor einigen Jahren auf schreibgeschützt umgestellt und soll im August 2025 endgültig eingestellt werden
- Danach lassen sich goo.gl-basierte Links nicht mehr auflösen
- Die eigentlichen
goo.gl-Links kann Compiler Explorer selbst nicht retten, abergodbolt.org/g/abc123-Links lassen sich in einer eigenen Datenbank bewahren
Sammlung bestehender Links und eigene Datenbank
- In den letzten Tagen wurden aus verschiedenen öffentlichen Quellen bestehende Links und ihre Redirect-Ziel-URLs gesammelt
- Bislang wurden etwa 12.000 Links gefunden
- Google Web Search API
- GitHub API
- eigene Web-Logs
- Stack-Overflow-Datendumps auf archive.org
- von Archive.org archivierte Webseitenlisten
- Intern wurde umgestellt, sodass die eigene Datenbank gegenüber goo.gl bevorzugt wird
- Außerdem werden neue
g-Links beobachtet, die noch nicht in der Datenbank vorhanden sind - Lokal gibt es eine sqlite-Datenbank, in Produktion wird Dynamo verwendet
Wie Nutzer helfen können
- Wer noch alte
godbolt.org/g/abc123-Links separat aufbewahrt, kann helfen, indem er jeden Link jetzt aufruft - Beim Aufruf erscheint der Link in den Web-Logs und kann später in die Datenbank aufgenommen werden
- Andernfalls könnten diese Links nach August 2025 nicht mehr funktionieren
- Der Fall zeigt das Risiko, wichtige Infrastruktur von Drittanbieterdiensten abhängig zu machen
- Um das Versprechen „ewig gültiger URLs“ einzulösen, muss man den gesamten Stack selbst besitzen
Noch keine Kommentare.