たとえば、1 秒あたり 100 クエリを処理できる Web スケールのパブリック サイトを構築する必要があります。Ajax を使用してインタラクティブにしたいと考えています。Ajax は、すべての主要なブラウザーとすべての妥当な状況 (クライアント側からページを停止、再起動する、一晩端末を離れた後に戻ってくるなど) に対して防弾でなければなりません。サーバーは分散 Linux ファームになります。
Jquery $.post() は、法案に適合するようです。
昔の Ajax は、サーバーとクライアントの間でソケットを開いたままにする巧妙なスキームによって実装されていました。次に、このアプローチは、「Ajax プッシュ」、別名「HTTP サーバー プッシュ」または「コメット」をサポートします。これは、サーバーがクライアントへのパケットを開始できるようにする双方向通信パイプです。
この Ajax アプローチで私が目にする主な問題は、サーバー上のソケットが無期限に拘束されるように見えることです。これはスケールしないようです。2 つ目の問題は、モデム接続を一晩中切断するとパイプが切断されることです。保存されたローカル バージョンからページをリロードしても、おそらくライブ パイプは再確立されません。また、さまざまなブラウザーでは、そもそも Ajax を機能させるためにさまざまな信頼性の低いハックが必要です。
ポスト リクエストに基づく Ajax の厳密な「クライアント プル」モデルを使用すると、これらの欠点がすべて解決されるように思われます。防弾実装基板を手に入れることができれば、リクエストされていないサーバープッシュの容量を喜んで放棄します。
したがって、私は単純な
呼び出しを使用しています。これは、少なくとも Firefox と Safari ではうまく機能するようです。
$.post( 'serverAjaxModule.php' ,
{mydata: Dataword },
function(output){ do_handle_results( output); });
ただし、これがボンネットの下で何をしているのかわかりません。.post は .ajax のマクロであり、.ajaxSetup や .ajaxStart など、必要と思われる名前を持つコマンドがいくつかあるようです。そして、jquery-ui.min.js
セットアップとしてほとんど何でも実行できるインクルードがあります。
私の質問、それから:
jquery $.post は、大規模な使用に対して適切にスケーリングされますか?
$.post は古い連続オープン ソケット パラダイムで実装されていますか、それともクライアント プル ajax メッセージを実行するたびに新しいソケット接続を確立しますか? 含意?
.ajaxSetup や .ajaxStart など、余分なものを呼び出す 必要はなく、異常な結果なしに $.post を正常に呼び出すことができると考えるのは正しいですか?
この機能に対するjqueryのクロスブラウザ機能はどの程度優れていますか? 基本的にすべての合理的な最新のブラウザーで機能するだけで信頼できますか、それとも注意が必要な既知のブラウザーはありますか?
この Ajax テクノロジへのアプローチは、古代のブラウザーにどのくらい前から適用されているのでしょうか? .post はラウンドトリップ POST テクノロジーを使用しているように見えますが、これは完全に普遍的で防弾でなければなりません。それでも、一部のブラウザーは古すぎて Ajax をサポートできず、その周りで苦労してコーディングしなければならなかった、古いテクノロジーのケースを覚えているようです。新しい jquery の登場で、そんな時代は終わりましたか? 文明化された国際的な世界では、Ajax 以外のサポートについてどの程度心配する必要がありますか?
他に気をつけることはありますか?非常にスケーラブルな実装を構築し始めたばかりの場合、動的でインタラクティブな Web エクスペリエンスの作成について誰かに教えてほしかった最も重要なポイントは何ですか?
平素は格別のお引き立てを賜り、誠にありがとうございます。