2009-06-12
■[flex][URLLoader]FlexのURLLoaderでIE6だけ「#2032: ストリームエラー」 原因はgzip?
見事にはまったよ
けど
一応、解決したよ
はまり現象
第13回 Flexが備えるサーバー連携API(Part1:Flash系パッケージ) - Flex 2.0でリッチなWebアプリを作ろ...:ITpro
↑のようなことをしたけど、IE6だけ「IO_ERROR」が出ちゃう人が参考にするといいかも
ローカル環境のIEは大丈夫だけど、UPすると駄目になっちゃう人もいいかも?
URLLoaderじゃなくてlastResultとかのHTTPアクセスではまってる人も同じ現象かと
一番の問題はURLLoader.load()したあとに戻ってくるデータのレスポンスヘッダーにあるみたい
(lastResult使ってる人の場合は「HTTPService.send()」のあとのレスポンスヘッダー)
はまり脱出への調査
とりあえず色々調べた結果、短い文字列を取得(URLLoader.load())した場合、
HTTP/1.1 200 OK Date: Tue, 09 Jun 2009 08:27:55 GMT Server: Apache X-Powered-By: ModLayout/3.2.1 Cache-Control: no-cache Connection: close Transfer-Encoding: chunked Content-Type: text/html
こんな感じのヘッダーが返ってくるけど、ある程度長い文字列を取得しようとすると
HTTP/1.1 200 OK Date: Tue, 09 Jun 2009 08:26:30 GMT Server: Apache X-Powered-By: ModLayout/3.2.1 Cache-Control: no-cache Connection: close Content-Type: text/html Content-Encoding: gzip Content-Length: 960
こんな感じにヘッダーが返ってくる
ここでポイントなのは
Content-Encoding: gzip
この人
この人はどうやら「僕gzip圧縮されて返ってきました」っていうヘッダーらしいんだけど、どうやらURLLoaderで取得した場合はgzip圧縮されたデータを解釈(解凍?)できないみたい. そんな人僕は召還した覚えがないんですが、このヘッダーの制御はレンタルサーバー(XREA Free)のapacheで設定されているっぽいんですね
この人が帰ってきた場合はほぼ間違いなく「#2032: ストリームエラー」になります
firefoxとかoperaは大丈夫なんですけどね、なんなんですかねIE6は
※蛇足:この「Content-Encoding」は「Accept-Encoding」という送信ヘッダーによって制御されているみたい. これもapacheの設定らしく僕のレンタルサーバー上では「HTTP_ACCEPT_ENCODING gzip, deflate 」となっています. これは変更できないんだろうか? まあいいや
はまり脱出への方法
なので.htaccessを使用してgzip圧縮されないようにしました
<ifmodule mod_gzip.c>
mod_gzip_on no
</ifmodule>
↓ここ参照
このスレッドをさっさと見つけてればはまらなかったかもしれない
はまりへのまとめ
flash(swf)はブラウザ依存しないと思ってたけど、どうやら環境によっては依存してしまうこともあるらしい
やはり主要ブラウザでの確認は必須であることがわかった
またヘッダーについて色々調べてたから勉強になった部分も多く、結果的に得るものはあったかもしれない
まあこれでflexとサーバ連携したサービスが作れる土台が出来たのでよかった
はまり脱出への救世主
参考になった順
- 4 http://www.google.co.jp/search?sourceid=navclient&hl=ja&ie=UTF-8&rlz=1T4RNWN_jaJP216JP218&q=WindowsXP+DSP版
- 3 http://www.google.co.jp/reader/view/
- 3 http://www.google.co.jp/search?hl=ja&client=firefox-a&rls=org.mozilla:ja:official&hs=51u&q=WINDOWS+XP+DSP&btnG=検索&lr=lang_ja
- 3 http://www.google.co.jp/search?hl=ja&q=AS+or+MXML+entry+point&lr=&aq=f&oq=
- 3 http://www.google.co.jp/search?hl=ja&q=flash.exe+is+not+configured&lr=&aq=f&oq=
- 3 http://www.google.co.jp/search?hl=ja&q=xp+oem+インストール&lr=&aq=2&oq=XP+OEM
- 2 http://74.125.153.132/search?q=cache:xj2AXaLdbrMJ:kizasi.jp/show.py/detail?kw_expr=mxml&end=1208789999&ref=topics+AS+or+MXML+entry+point&cd=1&hl=ja&ct=clnk&gl=jp&lr=lang_ja
- 2 http://d.hatena.ne.jp/keyword/DSP版
- 2 http://search.yahoo.co.jp/search?fr=slv1-tbtop&p=#2032 ストリームエラー&ei=UTF-8
- 2 http://www.google.co.jp/search?client=firefox-a&channel=s&rls=org.mozilla:ja:official&hl=ja&q=DSP+インストール&btnG=Google+検索&lr=&aq=f&oq=