JS(JavaScript)で取得できるクライアント情報、そこからアクセス解析の仕組みを考えてみる
JavaScript・XHTML・CSS (43 items)
2005年01月12日
”アクセス解析”を提供するサービスサイトに行けば、
生成されるJS(JavaScript)のコードをHTMLに埋め込んでと言われます。
※これについては、下記関連記事を参考に。。
<関連記事>
>PHP:JS(JavaScript)からPHPを呼び出しHTML上に出力する方法
で、このような場合、アクセス解析で使用するクライアント情報は、
JSで取得している事が多いでしょう。
では、JSでどのようなクライアント情報が取得できるのか調べてみます。。
上に挙げたJSのメソッドで、大体の情報が取得できるでしょう。
(各メソッドの詳細は、もっとJS専門的な他サイトで・・)
念の為、動作サンプルがありますので、確認してみて下さい。
>動作確認テスト
■動作確認テストのダウンロード
ダウンロードしたファイルをサーバーにアップロードしてください。
>>ダウンロード
・・しかし、何かが足りない。。
そうなんです。ある意味一番肝心な情報である、
”REMOTE_HOST名”・”IPアドレス”。
これらの情報は、JavaScriptでは取得できません。
しかし、この情報がないと、
アクセスしてきたユーザーを一意に識別する事もできませんね。。
・・、ではどうしているのか?と言う事ですが、
これらの情報は、サーバー側では取得できます。
つまり、クライアント側で動いているJSでは無理ですが、
CGI・PHP・SSIといった方法で、サーバー側で取得する事はできるのです。
という事で、巷にある、
といったスクリプトを埋め込むサービスは、
これだけ見ると全てJS側でクライアント情報を取得してそうに見えますが、
REMOTE_HOST名・IPアドレスだけは、サーバー側で取得していると言えます。
もちろん、サーバー側でも他の情報も取得できますし、
どっちで各情報を取得しているかは、各サービスサイトに寄りますがね。。
生成される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
