インフラストラクチャの多くを変更することなく、何かが変更されたかどうかを示す簡単なメッセージを返すことができます。
したがって、http://localhost/example/request
が戻ってきた場合:
{
"phoneNumbers": [
{
"type": "home",
"number": "212 555-1234"
},
{
"type": "fax",
"number": "646 555-4567"
}
]
}
リクエストごとに、何も更新されていない場合は、代わりに次を返すことができます。
{
"updated": false
}
さらに、updated: true
更新されたことを示すこともできます。
{
"updated": true,
"phoneNumbers": [
{
"type": "work",
"number": "111-222-3333"
}
]
}
全体として、あなたがしなければならないのはupdated
、各クエリで返されたオブジェクトのプロパティをチェックすることだけです。次の場合にのみ応答を解析する必要がありupdated
ますtrue
しかし、物事の壮大なスキームでは、各HTTPリクエストによって引き起こされるオーバーヘッド。ポーリングするたびに、ブラウザに対して新しいリクエストが行われます。同時ユーザーが多いと、パフォーマンスの問題が発生し始めます。Node.js (viyancsが述べたように)などのリアルタイムWebフレームワークを検討することをお勧めします。これは、各ユーザーの永続的な接続を維持して、(ポーリングではなく)データの「プッシュ」を可能にし、HTTPオーバーヘッドを削減するためです。