まぐまぐメルマガアーカイブ

IP Network Skill


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 
|  間違いご指摘
|  ⇒ メルマガにコメントを添えて返信ください。
◎_________________________________◎


メルマガトップ(記事一覧)へ
| 最新号 |

このページのURL
友達にメールで教える
まぐまぐアーカイブ検索

Web Services by Yahoo! JAPAN

語学・資格ランキングトップ
まぐまぐアーカイブトップ
sお問い合わせ

姉妹サイト
携帯メルマガ:ミニまぐ
ニュース・芸能:いつもば
ショッピング:まぐギャザ
簡単レシピ:3分クッキング
無料RPG:もりもりクエスト
クサイせりふジェネレータ
まぐまぐ自費出版

(C)まぐまぐ