6 Stimmen

Wie funktioniert Google Mail unter der Haube

Nur aus Neugierde frage ich mich, wie Google Mail das macht, was es macht. Wenn ich mir den Quellcode der Seite ansehe, sehe ich keine Links, Onclick-Methoden und Javascript. Ich verstehe, dass sie das Javascript ausblenden, aber trotzdem weiß die Seite, dass es einen Klick gab. Läuft ein Daemon-Thread, der auf Ihre Klicks wartet? Wie funktioniert er?

5voto

Matthew Lock Punkte 12498

Ein bisschen alt, aber hier ist ein Artikel, der Gmail unter der Haube erklärt: http://johnvey.com/features/gmailapi/ (siehe Abschnitt "Über die Gmail-Engine und das Protokoll")

Der für dieses Projekt wichtigste Punkt ist das, was ich als "DataPack" bezeichne, eine Basis-HTML-Datei, die nur JavaScript-Array-Deklarationen enthält, die die UI-Engine parst und dann verwendet, um zu bestimmen, was zu aktualisieren ist. Die Vorteile dieser Vorgehensweise sollten liegen auf der Hand: geringerer Datenverkehr Belastung und erhöhte Funktionalität - insbesondere für Entwickler, die nicht nicht mehr auf grobe "Screen Scraping"-Techniken zurückgreifen müssen Scraping"-Techniken zurückgreifen müssen, um Schnittstellen zu Webanwendungen zurückgreifen müssen. Obwohl die ideale Situation für externe Entwickler ein XML-basiertes DataPack wäre, ist die JavaScript-Version ist ausreichend (und ich vermute, sie wurde auch aus auch aus Leistungsgründen gewählt).

Das DataPack-Format besteht aus einzelnen "DataItems", oder JavaScript Arrays, die in eine Umschlagfunktion verpackt sind. Ein Beispiel:

D(["ts",0,50,106,0,"Inbox","fd36721220",154]);

Der Wikipedia-Eintrag bietet ebenfalls einen guten Überblick: http://en.wikipedia.org/wiki/Gmail_interface

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X