スマートフォン用サイトへのアクセス

先日言及したHTMLパーサのテストに自分の日記のサイトを使用したのだが、簡単に接続できるだろうと思っていたのに反して、HTTPのステータスコードに302が戻ってくる。

テストにはAndroid SDKに添付されているエミュレータ(AVD)を使用しているが、PCブラウザのFiddlerのように便利なツールは無いので、Microsoft Network Monitorでエミュレータの通信をキャプチャしてみることにした。

- Http: Response, HTTP/1.1, Status: Moved temporarily, URL: /Kazzz/ 
    ProtocolVersion: HTTP/1.1
    StatusCode: 302, Moved temporarily
    Reason: Moved
    Date:  Fri, 02 Jul 2010 15:52:37 GMT
    Server:  Apache
    Location:  /Kazzz/touch
  + ContentType:  text/html; charset=ISO-8859-1
    Set-Cookie: .....; path=/; expires=Thu, 27-Jun-30 15:52:37 GMT; domain=.hatena.ne.jp
    Vary:  Accept-Encoding
    Keep-Alive:  timeout=7, max=5
    Connection:  Keep-Alive
    TransferEncoding:  chunked
    HeaderEnd: CRLF
  + chunkSize: 303
  + ChunkPayload: HttpContentType =  text/html; charset=ISO-8859-1
    FooterEnd: CRLF

そっか、実機と同様でモバイル機器として扱われる訳で、/Kazzz/touchにリダイレクトする必要があるんだな。
しかしこれはhatenaに限ったことではなく、クライアントのエージェントによってサイトを切替えるのはよくあるケース。今後Androidクライアントでサーバに接続する際には避けて通れない訳で、テストに選んでおいて良かった。

しかし、はてさてリダイレクトを扱うことを考えなくてはならないなんて何時以来のことだろう。