Web Artisan Blog - ウェブ アルチザン ブログ

JS(JavaScript)で取得できるクライアント情報、そこからアクセス解析の仕組みを考えてみる

JavaScript・XHTML・CSS

2005年01月12日

アフィリエイトから企業サイト分析まで。訪問者の動きがまるわかりのアクセス解析サービス「リサーチアルチザンプロ」

LINEやSkypeみたいなビデオ通話がブラウザだけでできる!オンライン通話サービス「EZ-Interview - イージーインタビュー」

”アクセス解析”を提供するサービスサイトに行けば、
生成されるJS(JavaScript)のコードをHTMLに埋め込んでと言われます。

<script type="text/javascript" src="〜"></script>



※これについては、下記関連記事を参考に。。
<関連記事>
>PHP:JS(JavaScript)からPHPを呼び出しHTML上に出力する方法

で、このような場合、アクセス解析で使用するクライアント情報は、
JSで取得している事が多いでしょう。
では、JSでどのようなクライアント情報が取得できるのか調べてみます。。

ホスト名  :  location.host、location.hostname
ポート番号  :  location.port
リクエスト  :  location.pathname
コード名  :  navigator.appCodeName
ブラウザ名  :  navigator.appName
ブラウザバージョン  :  navigator.appVersion
言語セット  :  navigator.language
プラットフォーム  :  navigator.platform
エージェント  :  navigator.userAgent
リファラー  :  document.referrer
ドメイン名  :  document.domain
スクリーン幅  :  screen.width
スクリーン高さ  :  screen.height
スクリーン色数(ビット)  :  screen.colorDepth


上に挙げたJSのメソッドで、大体の情報が取得できるでしょう。
(各メソッドの詳細は、もっとJS専門的な他サイトで・・)

念の為、動作サンプルがありますので、確認してみて下さい。
>動作確認テスト

■動作確認テストのダウンロード
ダウンロードしたファイルをサーバーにアップロードしてください。
>>ダウンロード


・・しかし、何かが足りない。。

そうなんです。ある意味一番肝心な情報である、
”REMOTE_HOST名””IPアドレス”
これらの情報は、JavaScriptでは取得できません
しかし、この情報がないと、
アクセスしてきたユーザーを一意に識別する事もできませんね。。


・・、ではどうしているのか?と言う事ですが、
これらの情報は、サーバー側では取得できます。
つまり、クライアント側で動いているJSでは無理ですが、
CGI・PHP・SSIといった方法で、サーバー側で取得する事はできるのです。

という事で、巷にある、

<script type="text/javascript" src="〜"></script>


といったスクリプトを埋め込むサービスは、
これだけ見ると全てJS側でクライアント情報を取得してそうに見えますが、
REMOTE_HOST名・IPアドレスだけは、サーバー側で取得していると言えます。
もちろん、サーバー側でも他の情報も取得できますし、
どっちで各情報を取得しているかは、各サービスサイトに寄りますがね。。

Web面接に最適。ブラウザだけでビデオ/音声通話ができるオンライン通話サービス。「EZ-Interview - イージーインタビュー」
訪問者録画機能も付いたシンプルで高機能なリアルタイムアクセス解析「リサーチアルチザンプロ」