4D v14.3WEB SEND RAW DATA |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
4D v14.3
WEB SEND RAW DATA
WEB SEND RAW DATA
WEB SEND RAW DATAコマンドを使用すると、4D Webサーバはチャンクが可能な"生"HTTPデータを送ります。 引数 data はHTTP応答の2つのパートを含みます。つまり、ヘッダとボディです。データは事前にフォーマットされずにサーバから送られます。ただし、応答ヘッダとボディの有効性を確認するため、4Dはそれらに対して基本的なチェックを行います。
HTTP/1.1 302 Location: http://... 以下の行のみを渡すと、 Location: http://... 4DがHTTP/1.1 302 を追加して、そのリクエストを完成します。 オプション引数を用いると、応答を"チャンク" して送るよう指定できます。応答をいくつかのチャンクに切り分けると、全体の長さを認識せずに、サーバが応答を送る際に役に立ちます (例えば、応答が生成されていない場合) 。すべてのHTTP/1.1互換ブラウザはチャンクされた応答を受け入れます。 同じメソッド内で実行されたWEB SEND RAW DATA(data;*) に続くすべてのWEB SEND RAW DATAステートメントは応答の一部と見なされます (それらが引数 * を含んでいるかどうかに関係なく) 。メソッドの実行が終了した際、サーバはチャンクを送ることを停止します。 注: WebクライアントがHTTP/1.1をサポートしていない場合、4Dは応答をHTTP/1.0互換フォーマットへ変換します (送られたデータはチャンクされません) 。ただし、この場合、必ずしも期待している結果を得られるとは限りません。そのため、WebブラウザがHTTP/1.1をサポートしているかどうかをチェックして適切な応答を送ることをお勧めします。これを実行するには、以下のメソッドを使用します。 C_BOOLEAN($0) 新しいWEB GET HTTP BODYコマンド や "Webサーバ" テーマの他のコマンドと組み合わせると、このコマンドは4Dデベロッパが利用できるツールの範囲を完成させます。これは、新旧のHTTP接続の処理を全体的にカスタマイズするためのものです。これら異なるツールを以下の図に表します。 WEB SEND RAW DATAコマンドを用いたチャンクオプションの使用例を表します。データ (数字のシーケンス) はループされオンザフライで生成された100個のチャンクで送られます。応答のヘッダは、明確に設定されません。WEB SEND RAW DATAコマンド が応答のヘッダを自動的に送り、それに transfer-encoding: chunked フィールドを挿入します。それは引数 * が適用されているからです。 C_LONGINT($cpt) |
プロパティ
プロダクト: 4D
履歴
初出: 4D 2004 参照
WEB GET HTTP BODY ARTICLE USAGE
ランゲージリファレンス ( 4D v14 R2) Inherited from : SEND HTTP RAW DATA ( 4D v12.4) |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||