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

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

JavaScript・XHTML・CSS (43 items)

2005年01月12日

”アクセス解析”を提供するサービスサイトに行けば、
生成される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アドレスだけは、サーバー側で取得していると言えます。
もちろん、サーバー側でも他の情報も取得できますし、
どっちで各情報を取得しているかは、各サービスサイトに寄りますがね。。

前の記事 次の記事

Comments

会子 wrote:

これだけ見ると全てJS側でクライアント情報を取得してそうに見えますが、 REMOTE_HOST 名・IPアドレスだけは、サーバー側で取得していると言えます
2006年03月14日 17時44分57秒

しげる wrote:

参考になりました。
でもreferrerじゃなくてrefererですね。
2006年12月09日 03時44分19秒

Add Comments

Trackback

トラックバックはありません

Trackback URL

http://www.res-system.com/weblog/action.php?action=plugin&name=TrackBack&tb_id=401