Ich speichere ein Skelett Schnappschuss der Web-Seite, die der Server in der HTML selbst generiert, so dass, wenn ich Ajax-Anforderungen zurück an den Server senden, der Server herausfinden kann, was die Seite der Client aussieht und senden Sie die entsprechenden diffs zurück.
Dieses Skelett ist im Grunde ein Baum, in dem jeder Knoten eine Komponente darstellt (Menüleiste, Seitenleiste, Inhalt, Kommentar, was auch immer) und seine Kinder sind seine Unterkomponenten.
Derzeit speichere ich sie als Base64ed GZiped JSONed Daten. Als reines JSON, dauert es etwa 4000 Zeichen, aber verschlüsselt es ~500 nimmt. (aus Interesse, Python's Pickle nimmt ~3000 Zeichen, aber nur komprimiert bis ~2000)
Meine Frage ist also, gibt es noch etwas, das ich tun kann, um die Daten zu reduzieren? Gibt es ein websicheres Datenformat, das kompakter ist als Base64? Gibt es eine Komprimierung, die kompakter ist als GZip? Die Erhöhung des "Levels" der gzip-Funktion von 6 auf 9 führte zu einer sehr geringen (~20 Zeichen) Einsparung.
Und die andere Frage ist: Wohin sollen diese Daten gehen? Momentan befinden sie sich einfach irgendwo im Wert eines versteckten Eingabefeldes. Spielt es überhaupt eine Rolle, ob sie in den Attributen eines Eingabefeldes, in den Attributen eines anderen Tags oder als Inhalt eines Divs mit display:hidden gespeichert sind? Oder ist es nicht wert, sich darum zu kümmern?