blog/Cache_Hack.txt
.oooooo. oooo d8P' `Y8b `888 888 .oooo. .ooooo. 888 .oo. .ooooo. 888 `P )88b d88' `"Y8 888P"Y88b d88' `88b 888 .oP"888 888 888 888 888ooo888 `88b ooo d8( 888 888 .o8 888 888 888 .o `Y8bood8P' `Y888""8o `Y8bod8P' o888o o888o `Y8bod8P' ooooo ooooo oooo `888' `888' `888 888 888 .oooo. .ooooo. 888 oooo 888ooooo888 `P )88b d88' `"Y8 888 .8P' 888 888 .oP"888 888 888888. 888 888 d8( 888 888 .o8 888 `88b. o888o o888o `Y888""8o `Y8bod8P' o888o o888o ________________________________________________________________________________ Ich stolperte in letzter Zeit über einen POC, der aufgrund der geänderten Textfarbe von Links zu besuchten Seiten die Firefox-History auf bestimmte URLs prüfen konnte. [ach dreck, zu wenig zucker im tee] Bla Bla Bla ... Mich auf die Idee, ... Bla Bla ... Browser-Cache ... Bla Bla Bla ... Unterschiedliche Ladezeit ... Bla ... POC fertiggestellt Er läd Bilder in ein <img>-node, und misst die Ladezeit. Mit ein wenig Geschick kann man aus der generierten Ladezeittabelle sehr schön ablesen, welche Bilder aus dem Cache kommen, und welche erst geladen werden müssen. Das ganze kann man hier ausprobieren: $BLOG/files/Cache_Hack/cachesniffer.xhtml ================================================================================ === iFAQ ======================================================================= --> Fragen, die Ich oft stellen würde, wenn es mich mehrmals gäbe, und der Code nicht sowieso von mir wäre. 01. ,,Wieso lädst du ständig 'little.gif?foo=sep' ?´´ Sobald eine URL zwei Mal in der Liste der zu ladenden URLs auftaucht, funktioniert das Script nicht mehr. (Weil kein neues event.LOAD generiert wird.) Darum ist jedes zweite Bild dieses eine Seperatorbild. Außerdem kann die Ladezeit des ersten Bildes nicht akurat ermittelt werden. (Alle gängigen Browser hauen auf den ersten Wert 30-70ms drauf.) 02. ,,Wieso lädst du jedes Bild zwei Mal?´´ So erhält man zwei Werte und weiß zusätzlich vom letzten, dass er die Ladezeit aus dem Cache angibt. 03. ,,Warum wird ein Teil der URLs dynamisch mit der aktuellen Zeit versehen?´´ Weil der Browser diese Bilder immer neu lädt. Es ist auf Dauer unpraktisch, nach jeder kleinen Codeänderung den Cache leeren zu müssen. ================================================================================ === LINKS ====================================================================== * Der oben erwähnte History-CSS-Hack POC: http://ha.ckers.org/weird/CSS-history-hack.html * Mein Cache-Hack POC: http://keks.selfip.org/blog/files/Cache_Hack/cachesniffer.xhtml