2008.06.13
[IP Network Skill - No.0364 -] ICAP その2
‥‥……━━━━━━ IP Network Skill No. 00000364 ━━━━━━……‥‥
〜 ICAP その2 〜
‥‥……━━━━━━━━━━━━━━━━━━━━━━━━━━━━……‥‥
【まえがき】
前回、ネットワークエンジニアの不足について書きました。
IT業界もそうなのですが、何故慢性的にIT/ネットワーク
業界がSE不足なのか考えてみました。
ネットワークSEの需要が高まったのはITバブルが弾ける直前
の1999〜2000年くらいからだと思います。
この頃から、ブロードバンド化、企業LAN拡張でルータやスイ
ッチの需要が高まり、さらにその後ネットワークセキュリティ
対策、VPN構築、IP電話の普及などでネットワークの拡張に
伴い、製品も多様化し、これらを扱うエンジニアの需要も高
まりました。
ITバブルが弾ける前後に、日系企業の技術者が外資系ベンダ
に転職しだして、外資系ベンダのSEの数は増えてきたものの、
よほど大きい企業でない限り外資系で新卒SEを採用するケース
は少なく、全体としてSEの数は需要よりも低い状態が続いて
います。
(あとがきに続く)
╋━━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━━━━━━━━━━……‥‥
┃本┃日┃の┃試┃験┃対┃策┃問┃題┃
╋━━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━━━━━━━━━━……‥‥
〔問題1〕次のうちHTTPでは利用されず、ICAPでのみ利用されるヘッダは
どれか?
1.Encapsulated
2.Preview
3.Allow
4.Upgrade
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
ネ┃ッ┃ト┃ワ┃ー┃ク┃の┃基┃礎┃講┃座┃
━┛━┛━┛━┛━┛━┛━┛━┛━┛━┛━┛
-----------------------------------------------------------------
この企画は処女作「TCP/IPネットワークステップアップラーニング」
http://www.Amazon.co.jp/exec/obidos/ASIN/4774116351/ipnetworksk01-22
を基に構成変更、加筆、修正、省略。。。いろいろ手を加えたものです。
TCP/IPネットワークステップアップラーニングは先月、第4刷を重ねました!
講習教科書などでご利用いただいています。
-----------------------------------------------------------------
【11.アプリケーションプロトコル】
11.21. ICAP
前回、ICAPプロトコルはHTTPクライアントとHTTPサーバ間でやりとりされ
るHTTPデータについて、外部のICAPサーバを使ってアンチウイルスやURL
フィルタリングなど様々なサービスを提供できる、という紹介をしました。
今回は具体的にどのようにしてICAPが実現されるかについて書きます。
RFC3507にこの辺りの詳細が書かれています。
HTTPリクエスト--->
<--- HTTPレスポンス
[HTTPクライアント]--------[ICAPクライアント]-----[HTTPサーバ]
ICAPリクエスト↓|
|↑ICAPレスポンス
[ICAPサーバ]
11.21.3. ICAPヘッダ
HTTPヘッダと同様に、ICAPでもヘッダによってデータの制御が行われます。
ICAP用に使われるヘッダの中で、リクエストとレスポンスの両方に共通する
ものには以下があります。Encapsulatedヘッダ以外はHTTPでも使われている
ものです。
Cache-Control: キャッシュのコントロールに必要な指示や情報が入る。
Connection: 接続の永続性情報。'none'が指定されると、レスポンス後の
接続は解除される。
Date: 日付情報。RFC822形式、RFC850形式、ANSI C形式などを受け入れる
必要がある。
Expires: リソース・コンテンツの有効期限。Date値。Cache-Controlヘッ
ダのほうが優先される。
Pragma: 関連するクライアント/プロキシ/サーバそれぞれに認識させる
ための特殊な追加情報を記述する。Cache-Controlヘッダのほう
が優先される。
Trailer: チャンク形式エンコーディングで使用されるフィールドを記述
する。
Upgrade: HTTPの上位バージョンやその他プロトコル (TLS/SSL) に移行す
る際に、取り得るプロトコルを指定する。Connectionヘッダと共
に使われる。
Encapsulated: ICAP専用のヘッダ。すべてのICAPメッセージに入れる必要
があり、どのヘッダ/ボディが何バイト目に現れるかを示します。
例えば以下のような形式です。
Encapsulated: req-hdr=0, res-hdr=45, res-body=100
これはリクエストヘッダが0バイト目、レスポンスヘッダが45
バイト目、レスポンスボディが100バイト目から始まることを
表します。
ICAPリクエストに使われるヘッダには以下があります。
Authorization: ログインに必要な認証情報。ユーザー名とパスワードが
格納される。
Allow: 利用可能なリクエストメソッドの一覧が入る。
From: 利用ユーザーに固有なメールアドレスなどの情報が入る。
Host: リクエスト先のサーバ名 (DNS名) が入る。
Referer: 直前にリンクされていたURL (リンク元URL) が入る。
User-Agent: Webブラウザの固有情報が入る。
Preview: ICAP専用のヘッダ。REQMODとRESPMODのときに、ICAPクライアン
トからICAPサーバへ送るメッセージ内に入れることができる。
この中に4096バイト以上のデータの一部を入れてICAPサーバへ
送信することで、すべてのデータを送信しなくても処理が完了
することを期待します。例えば、ウイルスチェックやコンテンツ
フィルタリングなどで、特定ファイルタイプのファイルについて
ある処理を行う場合、アプリケーションデータの最初の一部を
チェックすればファイルタイプが判別できるため、すべてのデー
タを送付する必要がなくなります。
11.21.4. ICAPメソッド
前回、REQMODとRESPMODについて書きましたが、これをICAPメソッドと呼び
ます。RFC3507では、REQMODとRESPMODはオプションであり、これともう一つ
OPTIONSメソッドがあります。OPTIONSメソッドはすべてのICAPサーバで実装
されていなければなりません。
また、ユーザ定義メソッドを作成することも可能です。
ICAPクライアントはOPTIONSメソッドを使ってICAPサーバに対してどのメソッ
ドをサポートしているか確認できます。
11.21.5. "204 No Content"レスポンス
ICAPクライアントは"Allow: 204"というヘッダをICAPリクエストに入れること
があります。
この場合、ICAPサーバは受け取ったHTTPデータに対して何も処理をする必要が
なければ、"204 No Content"というステータスコードでレスポンスを返します。
たとえば、REQMODメソッドを使ってHTTPクライアントがGETリクエストしたURL
について、URLフィルタリングサービスを行うとします。URL情報の入った
REQMODメソッドをICAPサーバが受信し、そのURLへはアクセス可能であるとし
ます。このとき、HTTPクライアントはそのままHTTPサーバと通信を行うことが
可能であり、ICAPサーバとしても「私からは何も言うことはありません。その
リクエストをそのまま使って通信していいですよ」と応答すればよいです。
この応答が "204 No Content" (変更すべき点はない)で、ボディ部分には何
のデータも入りません。
ICAPクライアントが"Allow: 204" リクエストヘッダを入れない場合、ICAP
サーバは何も言うことがなければ "200 OK" ステータスコードでレスポンスを
返します。この場合、ボディ部に元のデータをそのまま載せます。
"Allow: 204"ヘッダを使えば、変更がない場合レスポンス時にボディ部へデー
タを入れる必要がないので通信量を減らすことができます。
11.21.6. ISTagレスポンスヘッダ
ISTagとはICAP Service Tagの略で、ICAPサーバはこのヘッダ内に任意の文字
列(cookie)を入れてICAPクライアントへ応答することで、サービスの状態
などをクライアントへ知らせることができます。
この値は32バイトまでの英数字です。
たとえばアンチウイルスサービスの場合、ISTagとしてウイルス定義ファイル
やエンジンのバージョンが入ったりします。
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
かんたんネットワーク入門
http://www.amazon.co.jp/exec/obidos/ASIN/477412124X/ipnetworksk01-22
第5刷好評発売中!
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
解┃答┃と┃解┃説┃
━┛━┛━┛━┛━┛
《本日の試験対策問題》
(解答)1と2
(解説)
ここでいう「ヘッダ」とはHTTPやICAP通信で使われる制御用の
行のことで、以下のように"ヘッダ名: 内容" という形で示され
ます。
ヘッダ行が数行続き、その後ボディ部となります。
ICAP Request Modification Example 2 - ICAP Request
----------------------------------------------------------------
REQMOD icap://icap-server.net/server?arg=87 ICAP/1.0
Host: icap-server.net
Encapsulated: req-hdr=0, req-body=147
POST /origin-resource/form.pl HTTP/1.1
Host: www.origin-server.com
Accept: text/html, text/plain
Accept-Encoding: compress
Pragma: no-cache
1e
I am posting this information.
0
----------------------------------------------------------------
ICAP Request Modification Example 2 - ICAP Response
----------------------------------------------------------------
ICAP/1.0 200 OK
Date: Mon, 10 Jan 2000 09:55:21 GMT
Server: ICAP-Server-Software/1.0
Connection: close
ISTag: "W3E4R7U9-L2E4-2"
Encapsulated: req-hdr=0, req-body=244
POST /origin-resource/form.pl HTTP/1.1
Host: www.origin-server.com
Via: 1.0 icap-server.net (ICAP Example ReqMod Service 1.1)
Accept: text/html, text/plain, image/gif
Accept-Encoding: gzip, compress
Pragma: no-cache
Content-Length: 45
2d
I am posting this information. ICAP powered!
0
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
◆◆◆◆◆◆ ┃ あとがき ┃ ◆◆◆◆◆◆
(まえがきから続く)
日系企業でも、ITバブルが弾けてから新卒採用を控えたり、
利益重視により新卒を採用して教育していくよりも経験者
を転職市場から採用するケースが増え、結果としてSEの総数
が少ないのだと思います。
供給が少ないSE市場において、他の業界または他の職種に
比べて待遇はよいのではないかと感じています。
ここでいう待遇とは給料のことですが、一般に外資系ベンダ
のSEは年収いくらで契約します。
多くの場合、基本給+インセンティブ(ボーナス)です。
インセンティブは売上や目標達成度によって上下し、契約時
は100%達成時の額で計算され、SEの場合おおむね基本給の20%
です。
もっと詳しく知りたい方はタイトルに「転職情報希望」と書い
てこのメールに返信するか、ipnet7@xai.nu
(半角で)までメールをお送りください。外資系ベンダへの
転職に関する情報や実際に転職した人の年齢や年収などの
情報をご連絡します。
adzuki
………………………………………………………
IP Network Skill vol.000364 6/13/08
発行者:adzuki http://www.xai.nu/ipnet
…………… ipnet7@xai.nu ……
◎ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄◎
| 新規購読・購読解除・バックナンバー ⇒ http://www.xai.nu/ipnet
| IP Network Skill 掲示板
| ⇒ http://www.xai.nu/cgibin/ipnet/bbs.cgi
| バックナンバー一覧
| ⇒ http://xai.nu/ipnet/stack/index.html
| 間違いご指摘
| ⇒ メルマガにコメントを添えて返信ください。
◎_________________________________◎
シ友達にメールで教える
語学・資格ランキングトップ
まぐまぐアーカイブトップ
sお問い合わせ
(C)まぐまぐ