HTTP応答ヘッダを表示するWinIE専用のbookmarklet

■HTTP応答ヘッダを表示するWinIE専用のbookmarklet

HTTP応答ヘッダを表示するWinIE専用のbookmarkletが手元にあります。入手先は失念いたしましたが、オリジナルを元に小関健吾さんBookmarklet - ブックマークレットを作成する際のポイントを参照しながら力のない私が若干手を入れたのだったかと思います。グローバル変数汚染をしないように改良したつもりです。

javascript:(function(){var d=document;var o=new ActiveXObject("Microsoft.XMLHTTP");o.open("HEAD",d.URL,false);o.send();d.body.innerText=o.Status+" "+o.StatusText+"\n"+o.GetAllResponseHeaders();focus();})();

使い方は簡単でして、目標とするWebページをWinIEで表示してからこのbookmarkletを呼び出すだけです。bookmarkletは表示済みのURLに対してHEADでリクエストして結果を待ちHTTP応答ヘッダをWinIEの画面に表示します。

特徴としては、サーバサイドのCGIなどの援用なしで手軽に出来るところでしょうか。欠点は、bookmarklet起動が最初にページを通常表示してからとなりますので、このことにより場合にもよりますが欲しい応答ヘッダを得られないかも知れないことです。例えば、cookieを食べさせてくれるサイトmail.yahoo.co.jpをいきなり表示した後にこのbookmarkletを使います。すると、最初に表示した時にcookieをブラウザは食べてしまいますから、2度目のbookmarkletによるリクエストの応答ではサーバはcookieをくれません。

それではくやしいので、http://mail.yahoo.co.jp の応答ヘッダでcookieがどのように設定されているのかを見ることとします。私がした方法は次の通りです。まずWinIEの該当domainのcookieを消しちゃいます。次にIEのオプションを変更してcookieを与えられたら食べても良いかどうかを毎度ご主人様に聞いてくるように躾けます。これで準備完了。普通にhttp://mail.yahoo.co.jpにアクセスします。この時cookieは食べさせません。次にbookmarkletを起動します。するとcookieを食べて良いか聞いてきますので適宜答えてやります。Y/Nどちらでも構いません。以下はこのようにして得られた応答ヘッダの例です。なお、一部伏字にしてあります。

200 OK
Date: Sat, 21 Feb 2004 06:34:02 GMT
Cache-Control: private
Pragma: no-cache
Expires: Thu, 05 Jan 1995 22:00:00 GMT
Connection: close
Content-Type: text/html; charset=euc-jp
Set-Cookie: B=*************&b=2; expires=Thu, 15 Apr 2010 20:00:00 GMT; path=/; domain=.yahoo.co.jp

まぁ普通はここまで凝らなくても良いのでお手軽なbookmarkletではあります。

ところで、誰が作成したbookmarkletであれ、自分のものとして使う場合にはそのソースコードを必ず確認することをお勧めします。意味が全然わからないようであるならば、そのbookmarkletを使用するべきではありません。ましてやソースコードを見ずに自動的に登録するボタンを押したり右クリックで登録したりしてはいけません。そのような悪習からは脱却すべきです。セキュリティー上問題があるからです。