YESまたはNOをできるだけ速く回答する必要があるREST Webサービスをセットアップしています。
HEADサービスを設計することは、それを行うための最良の方法のようですが、GETリクエストを実行するよりも実際に時間を稼ぐことができるかどうかを知りたいです。
サーバーでボディストリームが開いたり閉じたりしないようになっていると思います(約1ミリ秒?)。返されるバイト数は非常に少ないので、IPパケット番号でトランスポートの時間を確保できますか?
ご返信いただきありがとうございます。
編集:
コンテキストをさらに説明するには:
- 一部のプロセスを実行するRESTサービスのセットがあります(それらがアクティブな状態の場合)。
- これらすべての最初のサービスの状態を示す別のRESTサービスがあります。
その最後のサービスは非常に大規模なクライアントのセットによって非常に頻繁に呼び出されるため(5msごとに1回の呼び出しが予想される)、HEADメソッドの使用が価値ある最適化になり得るかどうか疑問に思っていましたか?レスポンス本文では約250文字が返されます。HEADメソッドは少なくともこれらの250文字の輸送を獲得しますが、その影響は何ですか?
呼び出しを1000回実行して、2つの方法(HEADとGET)の違いをベンチマークしようとしましたが、まったく効果がありません(<1ms)...
Content-Length
のレスポンスの重要な情報であるヘッダー値を計算するために、サーバーが最終的なボディを知る必要がある場合があるため、GETリクエストまたはHEADリクエストの処理には通常同じサーバー時間がかかることがあります。他にいくつかのより最適化されたサーバー側のアプローチがない限り、唯一の利点は、帯域幅が節約され、クライアントが応答本文を解析する必要がないことです。したがって、基本的に最適化の効果は、サーバーとクライアントの両方の実装に依存します。