お問い合わせ
会社概要 ソフトウェア 開発ブログ サポート

« REST原理主義 | メイン | BlogWrite Ver: 2.5.0.135 »

2006年06月30日

TypePadでは、存在しないファイルもHTTP Status 200を返す!?

[ Blog/REST ]

6月22日付けの、TypePadのバージョンアップで、BlogWriteからの画像等のファイルの上書き確認が上手く行かないとの報告をサポートフォーラムで頂いたので、調査していたのですが...

TypePadの新機能
ウェブページ上に破損画像(参照先(src)にファイルが存在しない画像タグ(img))がある場合、従来はブラウザの設定に準じた表示となっていましたが、1.8から破損画像があった場合は「Image not available」という画像を表示するように仕様変更しています。

アカウントをもっていないのでBlogWriteでの確認は出来ていないのですが、上記の記述とヘッダーを見る限り、存在しないファイルに対して、別ファイルを返すようで、つまり302で飛ばして、結果別ファイルをHTTP Status Codeの 200で返すように変更したようです。

うーむ、存在しないファイルはHTTPヘッダーに404 Not Foundで返すべきなんじゃなかったでしたっけ?

GIFファイルをアップロードしようとしていて、HEADしたら、
HTTP/1.0 200 OK
Content-Type: image/gif
が返ってきたら、そのファイルは存在する、と判断する他ないでしょう。

ということは、現実世界では結局、一つ前に書いたように、HTTPのステータスコードなんてまったくもってあてになりません。 このサイトを運用しているレンタルサーバーでもページが存在しないとデフォルトで「見つかりません」ページが200で返ってくるので時々問題にはまります。(ま、.htaccessで設定を上書きするなど方法はありますが)

BlogWriteでは画像ファイルを投稿する時、既存のファイルを誤って上書きしてしまわないように、事前に存在するかどうかHEADリクエストで確認しています。(デジカメ写真とかだと同じファイル名になりがちで、複数人で投稿するブログだと、意図しないで上書きしてしまう事があるため、BlogWriteでは上書き確認機能として持っています。個人的にはBlogWriteの優れた点の一つだと思っています)

TypePad側としてはユーザーの利便性を考えてのことだと思いますし、その姿勢は分かるのですが...。 HTTPの仕様違反というか、その副作用は理解されているのか、気になります。

Update: 検討した結果、上書き確認の機能を設定で、ブログごとにオン・オフできるようにする方向で対処したいと思います。

参考ー> Web屋のネタ帳: ステータス200なのに「その商品はありません」

投稿者 BlogWrite担当 : 2006年06月30日 15:12

トラックバック

このエントリーのトラックバックURL:
http://www.witha.jp/b/mt-tb-hate-spam.cgi/385

コメント

CNETのセキュリティーブログの方から来たのですが、こんなソフトがあったとは。あとで時間のあるときに、このブログをじっくり読ませて下さい。

投稿者 http://ameblo.jp/hosuii/ : 2006年07月04日 11:59

コメントしてください




保存しますか?