質問: Google Analyticsのようにサイトからデータを送信するときはどうしたらよいのでしょうか。 jQueryのgetやpostでやろうとするとクロスオリジンの問題があるなーと思って諦めていたのですが、AnalyticsもJavaScriptを使ってデータを送信しているのですよね。 こういう場合どのようにしてデータを送信しているのでしょうか。 ユーザーの情報を下手に送信するわけにはいかないので、注意点などあればおしえてください。
回答: GoogleAnalyticsの場合、JavaScriptを利用してページのどのあたりが比較的クリックされやすいかといった普通では得られない情報も収集していると思われますが、ipアドレスやUserAgentなどの基本的な情報であれば、基本的にリクエストがあるだけで得ることができます。 たとえば、ガラケーではJavascriptが動かない端末がありますが、モバイル版GoogleAnalyticsではJavascriptが動かないガラケーにも対応しています。 これは``タグを使うことで実現しています。つまり、``とHTMLに記述するだけで、ブラウザが`hoge.com`に画像を取得するためにリクエストを送信します。 リクエストがあれば、リクエストを受け付けたサーバはリクエストの情報を得ることができます。 つまり、ユーザは1つのページを開いたつもりでも、裏側では様々なサイトにアクセスしているのです。(これを悪用する悪い人たちもいます) クロスオリジンの問題に関しては、サーバが許可していれば何も問題なくアクセスすることが可能なはずです。サイト制作者が勝手にサーバのデータにアクセスすることと、サーバ管理者がサイト制作者に権限を与えることはまったく逆のことです。