Hatena::Groupmobilehacker

ziguzaguの日記

2008-10-31

ブラウザキャッシュサイズの取得 15:34 はてなブックマーク -  ブラウザキャッシュサイズの取得 - ziguzaguの日記

とある HTTP::MobileAgent を wrap してるクラスにあった、ブラウザのキャッシュサイズ取得するところを、プチリファクタ。

sub new {
    my $class = shift;
    my $query = shift;
    bless {
        query => $query,
        agent => HTTP::MobileAgent->new,
    }, $class;
}

sub get_cache_size {
    my $self = shift;

    return $self->{__cache_size} ||= sub {
        if ($self->{agent}->is_docomo) {
            return $self->{agent}->cache_size;
        }
        elsif ($self->{agent}->is_ezweb) {
            if (my $byte = $self->{query}->header_in('x-up-devcap-max-pdu')) {
                return int($byte/1024);
            }
            elsif ($self->{query}->header_in('x-up-devcap-screenpixels')) {
                my ($w) = $self->_get_ezweb_device_size;
                return $w >= 240 ? 20 : 9;
            }
        }
        elsif ($self->{agent}->is_softbank) {
            my $version = $self->{agent}->version;
            return ($self->{agent}->name ne 'J-PHONE') ? 300
                : ($version =~ /^[23]\./)   ?   6
                : ($version =~ /^4\.[0-2]/) ?  12
                : ($version =~ /^4\.3/)     ?  30
                : ($version =~ /^5\./)      ? 200
                :                             100
                ;
        }
        return 20;
    }->() * 1024;
}

Softbank のあたりは怪しい。。

そんな遠くない未来に『J-PHONE/\d\.\d/』な端末の考慮はきえるであろうことを期待(え、もうしてない?)。

2007-11-09

続・HTTPS で x-jphone-** が送られてこない 17:33 はてなブックマーク -  続・HTTPS で x-jphone-** が送られてこない - ziguzaguの日記

http://mobilehacker.g.hatena.ne.jp/ziguzagu/20070821/1190169571 で書いた問題の続き。

どうやら、https://secure.softbank.ne.jp を経由すると送られてくる模様。

https://example.com/test?foo=bar

ていうところにいきたい場合は、

https://secure.softbank.ne.jp/example.com/test?foo=bar

に。ただし、example.com でオレオレ証明書使ってる場合はエラーになる。。

ていうのは、すごく常識だったのかもしれないという不安に駆られ中。。。

2007-09-19

HTTP POSTリクエスト時のContent-Body最大長 11:35 はてなブックマーク -  HTTP POSTリクエスト時のContent-Body最大長 - ziguzaguの日記

必要に駆られて、HTTP POSTリクエスト時に送信可能なContent-Bodyの最大長を調べた。

DoCoMo

http://www.nttdocomo.co.jp/service/imode/make/content/flash/feature/index.html

Webブラウザでの制限については、明確な資料がみあたらない。上記の資料はFlashの話だけど、Webブラウザで動くもの(という解釈でいいのか…?)なので同じ制限になるはず。

KDDI

http://www.au.kddi.com/ezfactory/tec/spec/ezplus.html

こちらもWebブラウザではなく。。JavaでのHTTP POSTの制限。

  • Java Phase1-2.5: 20,480B
  • Java Phase3: 40,960B

上記の資料ではHTTP GET/POST のレスポンス時の最大長が9,000B(約9KB)となっていて、これは下記URLにある、Webブラウザでの制限と同じ約9KBということで、たぶんこのPOSTについてもおんなじじゃないかと期待。

http://www.au.kddi.com/ezfactory/tec/spec/xhtml.html

Softbank

http://developers.softbankmobile.co.jp/dp/tool_dl/web/tech.phpウェブコンテンツ開発ガイド[HTTP編] - 3.15.12 Content-Lenght より。

  • 10KB

ちゃんと資料がある!w

仕様(というか端末の挙動)が多いというのは別にして、Softbankオープンな資料については豊富で助かる。

まとめ

送信可能な上限にあわせて、少なくとも textarea には全部 maxlength つけておいたほうがいいかなぁ。。HTTP::MobileAgent に max_post_length みたいのがあってもいいかも。

ちなみに、最大サイズを超えたものを送信しようとした場合は、超えた分だけ切られて最大サイズ分のみ送られる(これってHTTP仕様RFCになってたりするのかしら…)。

なんにせよ、マニアックな対応のような。。

2007-08-21

HTTPS で x-jphone-** が送られてこない 11:39 はてなブックマーク -  HTTPS で x-jphone-** が送られてこない - ziguzaguの日記

Softbank の一部端末で HTTPS だとx-jphone 系ヘッダ(全部?)が送られてこないくさい。具体的にはこいつら↓

  • HTTP_X_JPHONE_SMAF
  • HTTP_X_JPHONE_REGION
  • HTTP_X_JPHONE_MSNAME
  • HTTP_X_JPHONE_DISPLAY
  • HTTP_X_JPHONE_UID
  • HTTP_X_JPHONE_COLOR

903SH、910SH で確認(SH 依存かしら…)。公式サイトだと問題ないのかしら?(ないんでしょう、たぶん。使ったこと無かったけど)

簡単ログインできない。

おわた。。。

tokuhiromtokuhirom2007/08/21 14:40X-Jphone-UID を http で取得しちゃって、その後から SSL に移行するとかですかね。。。

gamedeepgamedeep2009/03/24 18:55ぐぐるさんで検索するとここが上位なんで正解っぽい解説に誘導:http://d.hatena.ne.jp/mizincogrammer/20080630/p1