トップページに戻る

Category

AllArchives

Checker

Credit

小学生でも分かるプロキシ講座(3')

小学生でも分かるプロキシ講座(1)
小学生でも分かるプロキシ講座(2)
小学生でも分かるプロキシ講座(3)
「delegate」というモノの役割は前回書いたとおりです。
  • 自分が受け取ったリクエストの一部と宛先を改変し送信する
  • 自分が受け取ったレスポンスを「自分にリクエストを送ってきた相手」に送信する
の二つ。で、その「改変」は基本的に三カ所である、と。
このメカニズムさえ分かっていれば「delegateによる『多段串』の実体」というのも理解できるはずです。ですが、まぁ頭の中で考えるのも面倒なので一応書いておきます。特に新しい内容ではないです。前回小学生でも分かるプロキシ講座(3)で書いたとおりの「改変」が行われていることを確認して下さい。

「http://Delegate1/-_-http://Delegate2/-_-http://WebServer/File」とブラウザの「アドレス」欄に打って「移動」を押した場合。
□リクエスト1: クライアント → Delegate1
GET -_-http://Delegate2/-_-http://WebServer/File HTTP/1.1
Accept: */*
User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0)
Host: Delegate1
大意: お前のとこの「-_-http://Delegate2/-_-http://WebServer/File」をよこせ
リクエストを受け取ったDelegate1
  • 宛先を「Delegate2」にする
  • GET内の「-_-http://Delegate2/」を除去する
  • Hostを「Delegate2」にする
□リクエスト2: Delegate1Delegate2
GET -_-http://WebServer/File HTTP/1.1
Accept: */*
User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0)
Host: Delegate2
大意: お前のとこの「-_-http://WebServer/File」をよこせ
リクエストを受け取ったDelegate2
  • 宛先を「WebServer」にする
  • GET内の「-_-http://WebServer/」を除去する
  • Hostを「WebServer」にする
□リクエスト3: Delegate2WebServer
GET /File HTTP/1.1
Accept: */*
User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0)
Host: WebServer
大意: お前のとこの「File」をよこせ
一応書いておくと、「ウェブサーバー」というのは「自分のサーバー内にあるファイルを『リクエスト』に応じ『レスポンス』として送信する」を役割とします。この場合なら「File」が「レスポンスすべきデータ」となる訳です。
□レスポンス1: WebServerDelegate2
HTTP/1.1 200 OK
Date: Wed, 25 Dec 2002 09:00:00 GMT
Server: Apache/1.3.9 (Unix)
Content-Type: text/html

<html lang="ja">
<head>
<meta http-equiv="content-type" content="text/html;charset=SHIFT_JIS">
(以下省略)
delegateは「レスポンス」を受けると、自分が受けたレスポンスを「自分にリクエストを送信してきた相手」に送信する。Delegate2に「リクエスト」を送ってきたのはDelegate1でしたね。
□レスポンス2: Delegate2Delegate1
HTTP/1.1 200 OK
Date: Wed, 25 Dec 2002 09:00:00 GMT
Server: Apache/1.3.9 (Unix)
Content-Type: text/html

<html lang="ja">
<head>
<meta http-equiv="content-type" content="text/html;charset=SHIFT_JIS">
(以下省略)
そして、Delegate1に「リクエスト」を送ってきたのはクライアントです。
□レスポンス3: Delegate1 → クライアント
HTTP/1.1 200 OK
Date: Wed, 25 Dec 2002 09:00:00 GMT
Server: Apache/1.3.9 (Unix)
Content-Type: text/html

<html lang="ja">
<head>
<meta http-equiv="content-type" content="text/html;charset=SHIFT_JIS">
(以下省略)
以上が、delegateによる「多段串」の実体です。小学生でも分かるプロキシ講座(3)で書いたとおりの規則でリクエスト・レスポンスが仲介されているのが分かったでしょうか。ここでは二つのdelegateを経た「多段串」について書きましたが、コレが三つ四つと増えても「規則」は変わりません。あくまで「delegateは小学生でも分かるプロキシ講座(3)で書いたとおりの規則でリクエスト・レスポンスを仲介する」ということです。
小学生でも分かるプロキシ講座(4)
小学生でも分かるプロキシ講座(5)
小学生でも分かるプロキシ講座(6)

SeeAlso

SameSubCategory

Footprint

Navigation

TrackBack

この記事へのトラックバック

Comment

PostForm

情報を登録  
コメントは本文以外省略可能で、当方の承認後掲載されます