著作一覧 |
Fiddler2は便利だが、そのままだとローカルホスト内でのリクエスト/レスポンスは見られない。
で、どうすれば良いかわからないのであきらめていたのだが、というのはUNIXドメインとTCP/IPみたいな差があって、ローカルホストが相手の場合はUNIXドメイン(のWindows版)を使うからしょうがないのだろうと思っていた。
が、Tip for using Fiddler on localhostというのを見つけた。
なんと、http://localhost:8080/foo/bar であれば、http://localhost.:8080//foo/barのように、「.]をホスト名の末尾につけるのだという。
とりあえずやってみたら、確かにちゃんとキャプチャされる。
それとは別に上のサイトからFiddlerのFAQも出ている(が、こちらはいささか面倒だ。PCのホスト名を指定するというのはいやだな)。
で、この「localhost.」という気持ちの悪い指定方法ってどれだけ汎用的なのだろうかと手元のUbuntuでFirefoxに対して入れてみるとちゃんと使える(が、レスポンスを受けるとアドレスバーの内容はlocalhostに戻されるが)。
これはなんなんだろう?
jQueryでAjaxするプログラムを遊びで作っているのだが、IEを使っていたら、どうにも途中から動かなくなって困った。
で、ずーっと悩んでいたが、やっと解決した。
というか、Fiddler2で眺めているとリクエストが出ないことはわかっていたのだが、何か使い方がまずくて途中で死んでいるのだと思っていた。
$(document).ready(function() { $.ajaxSetup({cache: false}); }
IEは積極的にキャッシュしまくるので、getを使うときは最初にajaxSetupしておくこと。(静的なコンテンツについては304を返させればよいのだからサーバへネゴシエーションすることはむしろ良いことだ。ラウンドトリップが気にならない場合は)
ジェズイットを見習え |
「FQDNにはja.wikipedia.org.のように最後にルートを示すドットを付与しなければならない」とする流儀もあるようです。<br>http://ja.wikipedia.org/wiki/Fully_Qualified_Domain_Name
おお、どうもありがとうございます。するとFQDN扱いになるので、プロクシにリクエストを送るということみたいですね。ということは、localhostという名前についてはハードコードしているのかな? と思ったら上でアンカー付けているFiddlerのFAQに「Internet Explorer and the .NET Framework are hardcoded not to send requests for Localhost through any proxies, and as a proxy」と書いてありますね。