«前の日記(2008-04-12) 最新 次の日記(2008-04-21)» 編集

KONO's Diary-休むに似たり



2008-04-15 [長年日記]

_ [IT] IIS 6.0でjsonが読めなかった件

今日は非常に専門的な話。Windows2003のWebサーバで体験したことについて。

Windows2003のWebサーバIIS 6.0に業務用Webアプリケーションの本番移行を行なったのだが、テスト環境で動いていたajax部分が動かない。テスト環境で動いていたものをそのままコピーしただけなのに。

調べてみるとjson化した外部データを読むところで404エラー(=ファイルが存在しない)が返ってきている。

デプロイ先を再度確認したが該当jsonは確かに存在する。

調べること数十分、いろいろ設定を確認した末にGoogle先生に聞いたところ、[IISでMIMEタイプ未登録の場合404が返される]なるページを見つける。

で、jsonファイルにMIMEタイプ(application/json)を設定したら解決した。

どうやらIIS6より「MIMEタイプを設定していないファイルは怪しいのでアクセスさせない」という仕様になった模様。

テスト環境はWindows2000(IIS5)だったので、何も設定しなくても動いていた。Windowsは、バージョンが上がるとどんどんセキュリティが厳しくなるので、Windows2000で動いたからといって2003で動くとは限らない、のだった。

しかし「404エラー」というのは参りました。経験上「Webページ差し替えたのにWebブラウザで見ると直っていない」という現象は過去にもあって、だいたいキャッシュが悪さしていたのでその辺一通り調べているうちに時間を使ってしまった(既存のファイルを更新したのならともかく、もともと存在しなかったファイルなのだからキャッシュなんか関係あるわけない)。

だからといって500エラー(内部サーバエラー)だったら良いかというと、それはそれできっと悩みそうだけど、何もHTTPの中だけで済ませる必要はなく、たとえばイベントビュア等のログに何かメッセージ出してくれれば良いのではと思ったり。

ちなみにjsonは一応RFCが公開されていて、メディアタイプはapplication/jsonで、標準ファイル拡張子は.jsonとなっている。

[]



あわせて読みたい rss
«前の日記(2008-04-12) 最新 次の日記(2008-04-21)» 編集
カバー画像はWikimedia Commonsより。
Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.2 or any later version published by the Free Software Foundation; with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license is included in the section entitled "GNU Free Documentation License".
画像提供元:http://commons.wikimedia.org/wiki/Image:Field_of_hay_bales_-_omeo.jpg