Flashのカスタムポリシーファイルの取得について

今更ながら、crossdomain.xmlについてメモ。
サーバーサイドポリシーファイルによるデータへのアクセス許可

基本的にはドキュメントを読めば十分なわけですが、Flashがcrossdomain.xmlをどんな感じで取得しているのか気になったので、メモしておきます。環境は、OSX(Leopard)のFirefox2(lzyc)とFlashPlayer9で、SWF作成はFlash MX 2004 Proです。

  • ブラウザがHTTPでGETする
  • ブラウザが通常通りキャッシュする
  • 親ムービーで1度取得したら(子を含む)ムービー終了までその内容を使い続ける

まず、HTTPで普通にGETするというのは、ドキュメントから見て分かっていた事なので、問題なしです。少し期待してましたが、UA文字列も普通にブラウザのものが使われるという事が分かりました。まあ、当然ですね。

キャッシュの件ですが、ブラウザのリロードに関しては通常通りのキャッシュ設定に従うようです。キャッシュしないようなHTTPヘッダを吐くようにしたところ、毎回200で返る様になりました。ただ、SWF内からリクエストしている影響なのか、ブラウザの強制リロードに微妙に従わなかった気がします。

crossdomain.xmlをリクエストするタイミングですが、1個のメインSWF(?)につき1回のような気配でした。1ムービー内で異なる複数のURLを叩いても、さらに同じような別ムービーをロードしても、(そのサブドメイン用の)crossdomain.xmlは最初に1回リクエストされるだけでした。まあ、普通に効率を考えれば当然の振る舞いだと思います。

とまあ、大して意味のない情報を集めてみました。実際は、細かいパラメータを調整できたりするのかもしれませんが、普通に使った場合の挙動はこのような感じだと思います。

そういえば、ブラウザで強制リロードしても、Flash内でのHTTP通信には影響しないんでしたっけ?明確にブラウザのキャッシュを消さないと、200で返らない様子。Flashで真面目にキャッシュについて考えた事がなかったのですが、場合によってはめんどくさい事になりそうですね(?)。まあ、URLを動的にランダムに変えてしまえばすむ話でしょうけど。

相変わらず、まとまりませんが、この辺で。

プロフィール

このブログ記事について

このページは、koshigoeが2007年11月17日 00:39に書いたブログ記事です。

ひとつ前のブログ記事は「OSXのアップデートとCarbonEmacsのフォント」です。

次のブログ記事は「crossdomain.xmlとキャッシュ」です。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。