Delphi では、 HTTP 経由でデータを送受信するためにIndy を使用しTIdHTTPWebBrokerBridge
ています。TIdHTTP
サーバーでは、手の込んだ処理はありません。常に単純なコンテンツ ストリームで応答するだけです。問題がある場合は、応答コンテンツでその問題に関する情報のみを返します (認証の失敗、無効な要求など)。では、クライアント側では、このサーバーへのリクエストが成功すると、常にレスポンス コード 200 (OK) が返されると想定できますか?
クライアントでは、リクエストが成功した場合にブール値のみを返す関数内にリクエストがラップされているため、私は疑問に思っています。
この関数内:
IdHTTP.Get(SomeURL, AStream);
Result:= IdHTTP.ResponseCode = 200;
この関数は、データをフェッチする可能性のあるすべてのリクエストを処理します。リクエストに問題があった場合、この関数は False を返す必要があります。私のシナリオでは、サーバー上で常に何らかのコンテンツを返すので、クライアントは常にこの関数で 200 の応答コードを受け取りますか?
本当の問題は、私が常にある種のコンテンツを返し、サーバー上のすべての例外を処理する場合、サーバーは常に各要求に対して 200 のステータス コードを返すのでしょうか?