0

Google App Engine の appengine-web.xml 構成ファイルを使用すると、静的コンテンツであるファイルとリソースであるファイルを指定できます。アプリを Google にアップロードすると、静的に指定されたコンテンツのみが静的コンテンツ サーバーに配置され、リソースとして指定されたファイルのみがアプリ サーバーにプッシュされます ( https://developers.google.com/appengine/docs/からの言い換え) java/config/appconfig )。

次のような構成ステートメントがいくつかあります...

  <static-files>
    <include path="/**.html" />
    <include path="/**.js" />
    <include path="/**.css" />
    <include path="/**.ico" />
    <include path="/**.png" />
    <include path="/**.jpg" />
    <include path="/**.gif" />
  </static-files>

  <resource-files>
    <include path="/**.ftl" />
  </resource-files>

私の質問は...

ファイルを static-files リストに追加すると、それらはリソース ファイルとしても出荷されないということですか?

ファイルをリソース ファイル リストに追加すると、静的ファイルとして出荷されないということですか?

または、各セクションに完全な除外パス セットを指定する必要がありますか?

ドキュメントはここではあいまいです (少なくとも、明示的なものは何も表示されません)。これは単に容量を節約するための最適化 (およびアップロード時間の短縮) であるため、私にとってはまだあまり重要ではありません。しかし、Google にプッシュしたときに、コンテンツが静的領域またはリソース領域のいずれかに到達したかどうかを判断する方法がないようです。

ありがとう!

4

1 に答える 1

4

いくつかのポイント:

  1. 静的ファイルのポイントは、エンド ユーザーに直接提供されることです。それらは GAE サーバーではなく、専用の (内部) Google CDN サーバーによって提供されます。これにより、読み込み時間が改善されます。静的ファイルの場合、'Cache-control' ヘッダーを宣言することもできます。これにより、読み込み時間がさらに短縮されます (クライアント キャッシュとダウンストリーム キャッシュがキャッシュするため)。

  2. リソース ファイルは、直接提供されるのではなく、アプリ コードによって使用されることを意図しています。Afaik、それらはまだファイルとして提供されますが、GAE インスタンス上にある必要があるため、GAE サーバーによって提供されます。

  3. WAR の公開部分のファイルは、デフォルトで静的ファイルとリソース ファイルの両方として扱われます。したがって、それらをファイルとして提供する場合は、明示的に除外する必要があります。

  4. /WEB-INF の下のファイルは提供されませんが、コードでアクセスできます。また、コード ディレクトリ (/src) に配置されたファイルにはコードからアクセスできますが、静的ファイルとしては提供されません (それらは /WEB-INF/classes にコピーされます)。

于 2013-03-08T10:20:23.177 に答える