ReverseHTTP
WEB+DB PRESS vol.53に「ReverseHTTP」の話題がほんの少し載っていました。
上記サイトを見てみると「Tunnel HTTP over HTTP」という変人が喜びそうなセリフがあります。プロトコル on プロトコルとか、言語内言語とかVM on VMとか、ふと気づくと、なんでこんなことをしているのかという気分になる不毛さがいいです。
スペックは全然読まず、デモだけ試しました。
以下、たぶんこんな動きだろうと推測です。疑い深い人は自分でスペックを読んで間違いを指摘してください。
ブラウザを起動してサーバにつなぐと、ブラウザに一意なURLが割り当てられます。別のブラウザでそのURLにアクセスすると、最初のブラウザで書いたことを見ることができます。ちょっとしたブラウザ間のリアルタイム通信です。
これは、1番目のブラウザが書いたことをXHRでサーバに送りつけて、2番目のブラウザがサーバからデータを取得しても実現できる動作です。しかし、ReverseHTTPは、そういうことではないようです。サーバはゲートウェイ的に通信を中継するだけで、データを持つ機能は持っていません。
2番目のブラウザのHTTPリクエストが、1番目のブラウザのところまでやってきて、1番目のブラウザがレスポンスを返しているようです。わざわざ説明するまでもありませんが、1番目のブラウザから見ると、HTTPレスポンスでリクエストがやってきて、HTTPリクエストでレスポンスを返します。
デモの動作を見て動きを推察して、ふーんと思ったのですが、1番目のブラウザの通信をFirebugであきれました。1秒間に1回ぐらいの頻度でXHRで通信し続けます(ちなみに動いているJavaScriptのファイル名はhttpd.js)。いくらなんでもこの頻度はない気がします。行儀が悪すぎます。
- Category(s)
- カテゴリなし
- The URL to Trackback this entry is:
- http://dev.ariel-networks.com/Members/inoue/reversehttp/tbping