IE9でnavigator.geolocation.getCurrentPositionを使用した時に発生する通信について調べたメモ。
検証コード §
<!DOCTYPE html>
<html lang="en">
<head>
<title>geolocation</title>
<body>
<script>
function test(position) {
alert(position.coords.latitude + ", " + position.coords.longitude);
};
navigator.geolocation.getCurrentPosition(test);
</script>
</body>
</html>
分かったこと §
- inference.location.live.netに対して、httpsで何かの情報を問い合わせているが詳細は不明
- ただし、情報はキャッシュされるので、情報を送信するのかという質問への返答に関わらず、キャッシュ上にあれば問い合わせは行われない模様 (IEのキャッシュクリアを実行すれば、その直後に1回だけ通信が発生するらしい)
- しかし、C:\Users\(username)\AppData\Local\Microsoft\Windows\Temporary Internet Filesに、それらしいファイルは落ちていない
感想 §
Wiresharkでいくら見てもそれらしいパケットが見つからずに焦ったものの、キャッシュをクリアしたら見えたのはまぐれ当たりのラッキーヒット。
ちなみに、Firefoxは別のサイトに問い合わせているようで、互換度を上げる努力が払われているにも関わらず、ブラウザ非互換性の歴史がまた1ページかもしれません。