0

デザインの質問があります。ユーザーが短いメッセージを入力し、他のユーザーに表示する Web サイトがあります。これらのメッセージにはフォーマットが含まれている場合があるため、文字列を操作する必要があります。これは、サーバーでもクライアントでも実行できます。私の質問は、どこで発生する必要がありますか?

サーバーで発生した場合は、サーバーにさらに負荷がかかり、クライアントにプッシュするデータが増えます。ただし、サーバー マシンは通常、ユーザーが使用するマシンよりも「優れた」マシンです。

クライアントで発生した場合、文字列操作はユーザーにオフセットされますが、javascript/jquery 文字列操作がどれほど効率的かはわかりません。

これについて何か考えはありますか?

4

4 に答える 4

2

クライアントマシンがサーバーに比べて著しく劣るほどの文字列操作を必要とする「短いメッセージ」は想像できません。クライアントに置きます。

于 2009-07-18T02:35:44.823 に答える
0

この文字列を他のユーザーにどのように送信するかはわかりませんが、とにかくサーバーに返送することを想定しているので、問題は、クライアントで文字列をクリーンアップしてからサーバーに送信するか、それとも単に取得するかです。あなたが得たものは何でも、サーバー上でそれをきれいにします。

javascriptが有効になっていることを保証できる場合、それをクライアントにオフロードすると、呼び出しごとにサーバー上の多くの余分なミニプロセスが実際に削減され、その負荷がクライアントに分散されます。これはすばらしいことです。

考慮事項...javascriptだけでそれを行う場合、サーバー上の文字列をチェック/クリーニングしていないため、何が得られるかは保証されません。この情報を他のユーザーに送信する方法によっては、これは危険な場合があります。javascriptインジェクション攻撃について考えてみてください。

サーバー上でそれを行う場合は、送信するものが正確にあなたが望むものであることを保証できるので、実際にそれについて心配する必要はありません。

文字列の操作が、各メッセージサーバー側で実行している他の操作と比較して、非常に多くのトランザクションを実行しているのでしょうか。

于 2009-07-18T03:20:22.983 に答える
0

できるだけクライアント側に置いておきたいと思います。私は先に進んで、クライアント側のコードをコンパクトにしたり、メッセージが到着したときにメッセージを抽出して、Webサービスやメッセージを帯域幅で処理しているものを保存したりすることもできます。

于 2009-07-18T04:18:36.160 に答える
0

短い定義(私にとっては> 1024文字が機能します)によっては、サーバーにとって重要であるためには、それらの多くを調べる必要があります。

そうは言っても...クライアントからサーバーへのラウンドトリップが少ないほど良いです。最初に JavaScript で実行してみてください。次に、必要に応じてサーバーに移動します。

于 2009-07-18T02:39:45.533 に答える