灯台下暗し -カッターナイフで恐竜を腑分けした記録-

仕事で携帯向けアプリを書いて、趣味で携帯電話を買い、趣味で同人小説を書いて、何もしていません。

SoftBank 携帯電話向けウェブでのファイルサイズと更新日時の話

2007-02-20 22:14:46 | 携帯電話

SoftBank (ソフトバンク)携帯電話のウェブブラウザでのファイルサイズのエラーとかコンテンツエラーとかの話を読み、気になったので少し調べてみました。

この話は携帯電話の利用者には役立ちません。私自身が趣味/仕事でウェブサイトを管理するので、携帯電話機のバグのように見えて実は自分のサイト側の問題だったら恥ずかしいと思ったからです。

SoftBank Developers Site から「ウェブコンテンツ開発ガイド [HTTP編] Version 2.0.1」を取得し、レスポンスに必須の HTTP レスポンスヘッダを抜き出しました。

全機種共通で必須なのが

  1. Content-Type
  2. Content-Length

P型/W型/3GC型端末で追加で必須とされているのが

  1. Age

まず Content-Length が必須とのことです。これは i モードでも必須なので同じだと割り切ります。ただ SoftBank の場合は P型/W型/3GC型端末の場合には Transfer-Encoding: chunked を使用でき、その折り合いは厳密ではありません。

あと Age というヘッダはちょっと分かりにくいです。HTTP/1.1 を定めた RFC 2616 に詳しい説明(というより定義)があるのですが、プロキシサーバがキャッシュを送るときに元々のデータが作られてから端末に届くまでに何秒経っていると予想されるか伝えるものです。好意的に解釈すれば Last-Modified を秒数で示したようなものですが、このヘッダを作るのが難しいです。例えば HTML ファイルをウェブサーバに置いたままだと Age ヘッダを作れそうにありませんし。これは旧 Vodafone 3G 端末だけでなく P型/W型も含むので、J-Phone/Vodafone パケット対応 PDC 端末もこれを要求することになります。

ということで、まとめると 2 点です。

  1. SoftBank 携帯電話向けウェブサイトでも Content-Length は必須です。ただし Transfer-Encoding: chunked との折り合いは厳密ではありません。
  2. P型/W型/3GC型端末は Age を必須とする、やや不可解な仕様です

参考資料
CGI を自作したら HTML のソースコードが表示されたり携帯電話から拒否されてしまった人にお勧めの書籍
上野 宣 (著) 「今夜わかる HTTP

コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする