2016-08-22 3 views
9

を果たしますそのヘッダーをスクリプトによって手動で設定できるようにします。 (https://cloud.google.com/appengine/docs/python/how-requests-are-handled#headers_removedGoogle App Engineが、私はPHP App Engineを経由GSからファイルを提供するために、次を使用していますContent-Lengthヘッダ

コンテンツの長さのヘッダーを設定して、ファイルのダウンロード開始時のサイズを知る方法を教えてください。

答えて

4

私はApp Engineでの経験はありますが、Pythonで使用しましたが、これが便利だと思います。

手動で設定した場合、App EngineはContent-Lengthヘッダーを削除しますが、応答がクライアントに送信される前に自動的に設定されます。

これは、値に間違いがないことを保証し、App Engineが送信した絶対最終応答の長さになります。

私はこれを新しいシンプルなアプリケーションでテストしました。間違ったサイズを手動で設定し、空白のままにして、正しいサイズを設定します。 3つのテストすべてで、正しいContent-LengthがApp Engineによってクライアントに返されます。

クライアントからテストして、ヘッダーが存在し、正しいかどうかを確認しましたか?

これは、App Engineがヘッダーを設定した場合に削除されますが、自動的に正しい値に設定されることを確認するのに役立ちます。

+0

ありがとうございます。私はPHP App Engineを使用していますが、Content Lengthヘッダーはgoogle \ appengine \ api \ cloud_storage \ CloudStorageTools :: serveを使用している場合を除いて、すべてのリクエストに対して正しいものです。省略されています。これはPHP版のバグですか? – Adam

+0

私はserveメソッドの特定のドキュメンテーションを読みました。署名はserve(文字列$ gs_filename、配列 $ options = array())を読み取ります。オプションでは、ファイルの提供範囲を変更するためにstart、end、use_rangeを指定できることがわかります。オプションはありますか? – Zebs

+0

いいえ、ファイル名のみを送信しています – Adam

0

google gsutilで提供されているスクリプトを使用して "du"コマンドを実行すると、そのデータを取得できるはずです。また、APIの機能のいくつかの興味深い例があります。hereと、gsutilのインストール方法hereがあります。

よろしくお願いいたします。

関連する問題