GMail ve svém "plném" rozhraní používá ke asynchronní komunikaci prohlížeče se serverem. Dnes se tomu říká vesměs AJAX. Důsledkem toho je, že máte v prohlížeči stále načtenu tu samou stránku/skript. Pokud použijete klasické tlačítko refresh, dojde k ukončení komunikace a čistému načtení skriptu. To samé je i s tlačítkem "zpět". Když ho použijete, vrátíte se v historii o stránku nazpět. Což je často něco jiného než chcete.
Příklad: prohlížím si zprávy a pomocí odkazu "older" si přepínám na starší. AJAX mi zajistí, že nemusím odesílat požadavek přes standardní GET nebo POST novým načtením skriptu, ale asynchronně se přes objekt XMLHttpRequest zašle požadavek a obdrží se od serveru jeho výsledky a ty se zobrazí a přitom nedojde k novému načtení zobrazené stránky a také se tato stránka neuloží do historie prohlížeče. Pokud bych si řekl, že se chci vrátit zpět pomocí tlačítka v prohlížeči, tak by mě to třeba vrátilo na stránku na úplně jiném serveru, protože v důsledku používání AJAX se mi prohlížené stránky neuložily do prohlížeče, jak taky, když nedošlo k načtení jiného (a ani toho načteného) skriptu/stránky. Pokud používáte nějakou AJAX aplikaci, kde toto není nějakým způsobem ošetřeno, tak toto chování můžete pozorovat.
Příkladem budiž starší verze GMailu. Pokud již máte zapnutou novou verzi, budete mít na horní straně stránky možnost přepnout do starší verze (já to tam již mám), udělejte to. Pak si otevřete historii tlačítka zpět a zobrazujte zprávy (atd.) a pak si tu historii prohlédněte znova. Uvidíte, že se vůbec nezměnila. Po kliknutí na tlačítko zpět by tohle mělo zcela jinou funkci, než byste asi zamýšlel.