最近どういうわけか私はhttp://www.google.com/blank.htmlに行きました
このページが存在する理由と、それが何に役立つのか、誰にも分かりますか?
最近どういうわけか私はhttp://www.google.com/blank.htmlに行きました
このページが存在する理由と、それが何に役立つのか、誰にも分かりますか?
回答:
Googleには、次のような特別な目的のために設計されたURLがあります。
http://www.google.com/blank.html
そして
http://clients3.google.com/generate_204
これらは、「キャプティブポータル」の検出を容易にするように設計されています。つまり、ホテルや空港でwifiネットワークにサインオンすると、これらのページを確認できます(または自動化されたプロセス)。意図した結果以外の何かを返す場合(つまりblank.html
、空白ページ以外のものが含まれている場合)、それをチェックしているプロセスは、何かがWeb要求をインターセプトしていることを知っています-おそらく支払いを要求するポータルページです。
その使用例(WifiWatchdogStateMachine.java):
private static final String DEFAULT_WALLED_GARDEN_URL =
"http://clients3.google.com/generate_204";
/**
* DNS based detection techniques do not work at all hotspots. The one sure
* way to check a walled garden is to see if a URL fetch on a known address
* fetches the data we expect
*/
private boolean isWalledGardenConnection() {
HttpURLConnection urlConnection = null;
try {
URL url = new URL(mWalledGardenUrl);
urlConnection = (HttpURLConnection) url.openConnection();
urlConnection.setInstanceFollowRedirects(false);
urlConnection.setConnectTimeout(WALLED_GARDEN_SOCKET_TIMEOUT_MS);
urlConnection.setReadTimeout(WALLED_GARDEN_SOCKET_TIMEOUT_MS);
urlConnection.setUseCaches(false);
urlConnection.getInputStream();
// We got a valid response, but not from the real google
return urlConnection.getResponseCode() != 204;
} catch (IOException e) {
if (DBG) {
log("Walled garden check - probably not a portal: exception " + e);
}
return false;
} finally {
if (urlConnection != null) {
urlConnection.disconnect();
}
}
}
このURLは、「キャプティブポータル」の検出を容易にするためだけでなく、複数の目的でGoogleによって使用されます。
以下で説明するケースで使用されていることを発見しました。
Googleのblank.htmlリファラーは、画像がWeb検索SERPに表示され、ユーザーがその画像をクリックしたときに使用されます。これにより、Googleは画像のサムネイルを拡大表示した黒い背景ページを表示します。この(非セキュア、つまりHTTPSではなくHTTP)ページには、元の(フルサイズの)画像を生成するGoogle JavaScript / Ajaxコードが含まれます。リファラーをhttp://www.google.com/blank.html(または、http://www.google.ca/blank.htmlなどのローカライズされたバリエーション)に設定して、ブラウザーによって読み込まれます。
これは、ユーザーが画像検索を行う場合とは異なることに注意してください。その場合、画像SERPは保護され(HTTPS)、ユーザーがサムネイル画像をクリックすると、Googleは黒い背景に拡大された画像を表示し、画像SERPページには元の画像を引き起こすGoogle JavaScript / Ajaxコードが含まれます(フルサイズの)ブラウザによって読み込まれる画像で、空のリファラー(ではありませんblank.html
)。