Google は Gmail にどのプロトコルを使用していますか? (IMAP や POP ではありません) 質問する

Google は Gmail にどのプロトコルを使用していますか? (IMAP や POP ではありません) 質問する

Gmail には、Web インターフェース、Google の Android クライアント、または IMAP を使用してアクセスできます。私の知る限り、Web インターフェースと Android アプリは IMAP とはまったく異なるプロトコルを使用しています。これらは IMAP のインターフェースだけではありません。私がそう確信している理由は、Android アプリが 100 万件のメールを含むフォルダーを 3 秒未満で問題なく開くことができるからです。普通の IMAP クライアントではそれができません。

そこで質問なのですが、この秘密のプロトコルについては何がわかっているのでしょうか? 参照ドキュメントはどこにありますか? リバースエンジニアリングされていますか? Google はその使用を認可していますか?

arnt の回答は、Gmail の生の IMAP 速度をテストするための優れた方法を示しています。

$ openssl s_client -host imap.gmail.com -port 993 -crlf 
...
* OK Gimap ready for requests from 12.34.56.78
$ a LOGIN ***@*** ***
a OK
$ c SELECT "[Gmail]/All mail" !!!!
* FLAGS (\Answered \Flagged \Draft \Deleted \Seen)
* OK [PERMANENTFLAGS (\Answered \Flagged \Draft \Deleted \Seen \*)] Flags permitted.
* OK [UIDVALIDITY 673376278] UIDs valid.
* 1142417 EXISTS
* 0 RECENT
* OK [UIDNEXT 1159771] Predicted next UID.
* OK [HIGHESTMODSEQ 8670601]
c OK [READ-WRITE] [Gmail]/All mail selected. (Success)

私がマークしたコマンドは、c SELECT "[Gmail]/All mail"20秒完了するまでに 10 分もかかりません。この時間は、比較的パワー不足の Android スマートフォンの GMail アプリが起動して「すべてのメール」ラベルを読み込むのにかかる時間よりも長く、キャッシュを消去した後でも 6 秒未満で完了します。Web クライアントはさらに高速です。

私が何か基本的なことを見逃していない限り、SELECT コマンドが完了するまで 20 秒も待つ必要がないので、Google の GMail クライアントは IMAP を使用していないことが「合理的な疑いの余地なく」証明されます。

ベストアンサー1

Android アプリ (少なくとも私が使用したもの) は IMAP を使用します。サーバー上で Wireshark を実行するとこれを確認できます。

Androidアプリがなぜこんなに速いのか、私が知っているのは、SEARCHコマンドを使って最新のものを選択するからである。メッセージ。Thunderbird や Outlook などのデスクトップ クライアントははるかに負荷が高く、フォルダー内のすべてのメッセージのヘッダーとメタデータをダウンロードします (ダウンロードしないようにという推奨にもかかわらず)。

スマートフォンには何百万もの電子メールを保存して処理するリソースはありません (最新のスマートフォンではそのレベルに達しているかもしれませんが)。そのため、SEARCH アプローチにより、ハンドヘルド デバイスでメールにすばやくアクセスできるようになりました。

いずれにせよ、Wireshark は IMAP クライアントとサーバーの動作について多くのことを明らかにすることができます。本当に興味があるなら、試してみてください。サーバーが Gmail の場合はこの操作は実行できませんが、別のサーバー (hMailServer など) で試すことができます。

おすすめ記事