次の方法で共有


クライアント/サーバー処理を調整する

Web アプリケーションは、本質的に分散されます。クライアントの処理能力が向上するにつれて、クライアントとサーバー間で処理を分散できる割合も高まります。処理を部分的にクライアントに分散することにより、アプリケーションの応答のパフォーマンスを上げることができます。ただし処理の分散は、アプリケーションの設計をより複雑にします。

クライアントとサーバーに処理を分散させるときは、2 つの設計目標があります。まず第 1 に、HTTP 接続を介した通信を最小限にとどめることです。確立した接続の速度がいかに速くても、ローカル処理は常にそれより速くなります。クライアントとサーバー間の情報の受け渡しは、必要な場合だけにとどめます。

第 2 の設計目標は、クライアントに公開するサーバー リソースを、処理を完了するのに必要なものだけに限ることです。クライアントからの各要求は完全に修飾したものを提示し、その結果サーバーが応答時にさらに情報を要求する必要がないようにして、HTTP 接続を介したやり取りが増えないようにします。たとえば、クライアントが要求を出すときにサーバーに対して自分の機能を完全に記述できる場合は、サーバーは補足情報をクライアントに要求する代わりに、クライアントの機能に合う応答を直ちに送ることができます。これは、データベース アクセスをサポートする Web アプリケーションの設計にも適用できます。たとえば、クライアントが注文の状態を確認している場合、注文表にあるすべてのレコードではなく、対象となる特定の注文についてのみ記述しているレコードセットをクライアントに提供するべきです。