By Hibi
Post Time: 2009年5月21日 06:00

Google Chart APIはどれだけ長いURLに対応しているか?

ちょっと前までWeb上でグラフを書くということは非常に面倒な作業だったのですが、最近はGoogle Chart APIの登場やjQueryの登場などにより以前よりかなり簡単にグラフを書くことができるようになりました。

その中でも最初に書いたGoogle Chart APIは「http://chart.apis.google.com/chart?」のURLの後にグラフを描画するための決まったパラメータを追記することによってWeb上にグラフを表示することができます。

今回、そのGoogle Chart APIを使用してグラフを作っていたのですが、一つだけ疑問に思うことがありました。それは

どれだけの長さのURLに対してグラフの描画ができるのであろうか?

ということです。まさかURLが無限に対応できるはずもなく、どこかで限界があるだろうとは思っているのですが、じゃあ、それが何文字まで対応してくれるのかはAPIのリファレンス上には明記されていません。

そこで、簡単ではありますが、下記にちょっと調べてみました。

一般的なURLの長さの制限というのはその環境によって異なるようで、例えばHTML 4.01では65,536文字までとしているし、Apacheでは8,177バイトまでのようです。ブラウザの場合はIE(Internet Explorer)では2,083文字で、FF(Firefox)では2MB(200万文字)までは対応可能という情報もあります。

そこで、Google Chart APIでは何文字まで対応可能なのかは下記のようなソースで確認してみました。

PHP:
  1. <?php
  2. $plotcnt = 530;
  3. $arr = array();
  4. for ($i = 0 ; $i <= $plotcnt; $i++){
  5.     $arr[] = $i;
  6. }
  7. $para = implode(",", $arr);
  8. $url = 'http://chart.apis.google.com/chart?cht=lc&amp;chs=500x300&amp;chd=t:'.$para;
  9.  
  10. echo strlen($url).'<br/>';
  11. echo '<img src="'.$url.'">';
  12. ?>

これがあまり良いチェック方法とは思わないのですが、1文字2文字違ってもいいので大体の数字がわかればと思っています。ちなみに上記プログラムを実行すると下記のようなグラフが表示されます。

簡単なソースなので直ぐにわかると思いますが、変数の$plotcntの値を変更すればその長さが変わる仕組みです。結論的に言うと$plotcntの値は「530」が限界でURL長で言うと2,081文字までとなりました。おそらくこの数字からするとIEの2,083文字までが限界値なのではないかと勝手に予想してみました。ちなみにこの表示テストを行ったブラウザはFFです。

この長さは与えるパラメータによっても異なるようなので(別のURLで行ったら2,043文字でした)、一概に言える数字ではないかもしれませんが、2,000文字以上のURLをGoogle Chart APIに与える時は要注意かと。

Google Maps API徹底活用ガイド
稲葉 一浩
毎日コミュニケーションズ
売り上げランキング: 85978

関連する記事

コメント

(コメントは管理者の承認後に表示されます。過去に承認されている場合は直ぐに表示されます。)

TrackBack URL