トップページに戻る

Category

AllArchives

Checker

Credit

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

小学生でも分かるプロキシ講座(1)
「プロキシ」とは、いわば「特殊なブラウジングを行うために必要なモノ」です。では、どのように「特殊」なのか。プロキシを使うと
本来は直接的な「クライアント←→ウェブサーバー」というコネクションが「クライアント←→プロキシサーバー←→ウェブサーバー」という具合になり
このため一定の「匿名性」が確保される・・・と。

「どのように特殊なのか」をある程度深く理解するには、「通常のブラウジング」に関するある程度の理解が必要不可欠です。今回は「通常のブラウジング」を「リクエスト・レスポンス」という視点で見てみましょう。

本来は直接的な「クライアント←→ウェブサーバー」というコネクションが「クライアント←→プロキシサーバー←→ウェブサーバー」という具合になり
このため一定の「匿名性」が確保される・・・と。
「どのように特殊なのか」をある程度深く理解するには、「通常のブラウジング」に関するある程度の理解が必要不可欠です。今回は「通常のブラウジング」を「リクエスト・レスポンス」という視点で見てみましょう。

「通常のブラウジング」は「リクエスト」「レスポンス」から成立している。例えば。tokix.netトップページ(http://www.tokix.net/index.html)の実体とは、この世界の何処かにある「tokix.netサーバーマシン」のHDD内に存在するデータです。ブラウザのアドレス欄に上記URLを打ち込み「移動」を押す。ブラウザにtokix.netトップページが表示される。この時行われていることとは
  1. クライアント(閲覧者)がサーバーに対し「お前のトコの/index.htmlをよこせ」という意味の「リクエスト」を送信する
  2. tokix.netサーバーがクライアントに対して当該データを「レスポンス」として送信する
ということです。普段何気なくブラウザのアドレス欄にURLを打ち込み「移動」を押した時、ブラウザは(閲覧者の目に触れない場所で)上記のようなリクエストを行いレスポンスを受け、そのレスポンスを元に「ウェブページ」を表示している訳です。

「PC同士の通信」を頭に描こうとする時、「電話による通話」ではなく「文通」をイメージすると良いと思います。PC1は「リクエスト手紙」をPC2に送り、PC2は「レスポンス手紙」をPC1に送る。・・・何が言いたいかと言えば、PC1とPC2がお互いに「相手の住所」を理解していなければ「文通」が成立しない。電話番号を知らない相手と電話で話すことは(向こうからかけてくれば)可能だが、住所を知らない相手と文通を行うことはできない。「住所」というのが「IPアドレス」であり、つまり「リクエスト・レスポンス」を行う二台のPCはお互いが「相手のIPアドレス」を知っている。
参考:小学生でも分かるIP抜き講座(1)
「コネクションを持つ二台のPCはお互いが相手のIPアドレスを知っている」という基本的なメカニズム。
このような仕組みで「リクエスト・レスポンス」が行われ、ウェブサーバーは「クライアントのIPアドレス」を知ることになる訳です。「サーバーがクライアントのIPアドレスを抜いている」と言うより「クライアントが自分のIPアドレスを自主的にサーバーに教えている」という表現の方が正しいかもしれません。
クライアントからサーバーに送信される「リクエスト」の実体は、例えばtokix.netトップページをtokix.netサーバーに対してリクエストする場合だったら
クライアント → www.tokix.net
GET /index.html HTTP/1.1
User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0)
Host: www.tokix.net
大意: お前のトコの(※1)/index.htmlをよこせ
※1
「リクエスト」では「GET」と「Host」に注目して下さい。上記リクエストの意味は「www.tokix.netの/index.htmlをよこせ」という意味です。「リクエスト」において、基本的には「宛先」と「Host」は同じであり(※2)、この連載ではこの場合「お前のトコの」という表現を使うことにします。
※2
上記ならば両方とも「www.tokix.net」ですよね。
「ウェブサーバー」というのは「自分のHDD内にあるファイル(の内容)をリクエストに応じレスポンスとして送信する」を役割とします。例えば「www.tokix.net」に対して「Host」を「www.yahoo.co.jp」にしてリクエストを送信してもtokix.netウェブサーバーはどうしようもない訳です。
という感じです。
参考:初級CGIクラックガイド(4)
このような「リクエスト」を受けるとtokix.netサーバーは以下のような「レスポンス」を行う。
www.tokix.net → クライアント
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">
<title>tokix.net - 毎週水曜更新</title>
(以下省略)
大意: /index.htmlはコレだ
別に「リクエスト」「レスポンス」の細かい意味を知る必要はないと思いますが、例えば、「リクエスト」内に「User-Agent」が記述されている、という事実に目を向けてもらえれば「リクエスト・レスポンスとしてのHTTP」という知識は「微妙に高度な掲示板荒らしテク」にも繋がります。
参考:User-Agentで掲示板荒らし
よく「サイト管理人にはクライアントが使用しているブラウザがバレている」というような記述を見ることがあると思います。実は「クライアントの使用しているブラウザ」というのは「クライアントが自己申告する情報」である。この事実を利用し一部の掲示板を荒らす方法について。
参考:アダルトサイトで学ぶHTTP基礎
「リクエスト・レスポンスとしてのHTTP」を「アダルトサイトを巡回する」という視点で書いています。「常識」のように言われる「アダルトサイト巡回時はJavaScriptを切れ」や環境変数について。

では、「インターネットオプション」「接続」でプロキシサーバーを設定した場合は「どのような」リクエストが「誰」に対して行われているのか。
小学生でも分かるプロキシ講座(3)
小学生でも分かるプロキシ講座(3')
小学生でも分かるプロキシ講座(4)
小学生でも分かるプロキシ講座(5)
小学生でも分かるプロキシ講座(6)

SeeAlso

SameSubCategory

Footprint

Navigation

TrackBack

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

Comment

PostForm

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