IT・技術研修ならCTC教育サービス

サイト内検索 企業情報 サイトマップ

研修コース検索

コラム

スーパーエンジニアの独り言

CTC 教育サービス

 [IT研修]注目キーワード   Python  UiPath(RPA)  最新技術動向  Microsoft Azure  Docker  Kubernetes 

第43回 ハチはなぜ大量死したのか 2015年3月

 先日、同僚から「HTTPを簡単に説明したいのですが?」と相談されました。唐突で断片的であったために質問の意図や経緯、趣旨が理解出来ませんでした。しかも間の悪いタイミングで筆者は急いでいたことも相まって、彼に対しておざなりで曖昧な返答を思わずしていました。

 「普段から使っているのだから、特別な説明は要らないんじゃないの?」と。

 後日、彼はどうやら「ネットワーク・ファースト・ステップ」というコースを担当するべく、その冒頭で簡潔に紹介するためのフレーズ(言い切り可能な説明)が欲しいらしいことを伝え聞きましたが、これは難題です。と言いますのも、どのコースを担当するのも至難の業であるのことには違いないのですが、「入門コース」を担当するというのは格段に難しいのです。

 ご想像がつくかと思いますが、入門コースを受講される方々は概念を説明するための用語自体をご存じないので、用語で概念を説明するようなことはできない場合があるのです。ですから場合によっては説明しようとする対象を暗示させるような比喩で表現する必要性も出てきます。身近な例示ができれば良いのですが、説明しようとする対象に因ってはそれすらもままなりません。ここで重要であるのは、話し手は「誰に?」対して「何を?」説明したいのかを自問することです。上手い喩えがあればそれに越したことはないのですが、それよりも「いったい何を伝えたいのか?」を話の中心に一つだけ持っていなければ説明として成り立ちません。ですからこの場合であれば、これからネットワークについて知見を深めようと勉強を始められた方々に向けて発信するのだという意識を持ち、普段から身近に使っているインターネットがネットワークの代表であり日常その恩恵を受けていることを伝えれば宜しいのであろうと思います。もしネットワークが無ければ、フェイスブック(Facebook)やツイッター(Twitter)もご利用出来ないですよ、と伝えることでその重要性を認知されるかもしれません。更には、受け手である方々に於いても普段聞きなれない説明をただ漫然と聞き流しても無為に帰することでしょう。取捨選択し必要な箇所を抽出しながらご自身の滋養として吸収していくことを意識して為さるのをお勧めします。実際でも話し手の技量よりも聴き手の姿勢が重要なのは経験則からもご理解頂けるのではと思います。講習会は講師と受講者が話し手と聴き手という役割を相互に入れ替わる二者の空間で成り立っているのですから尚更です。

 ところで筆者は彼の質問が切掛けとなりHTTP/HTMLを再考する機会に恵まれました。マインド・パレス(記憶の宮殿)ではなく、筆者の脳内でちっぽけなタンスにある記憶の扉を開き順序を追って整理していくことにします。

 HTTP(HyperText Transfer Protocol, ハイパーテキスト・トランスファー・プロトコル)とは、代表的な通信プロトコル(手順)の一つとしてインターネット上でWebサーバ(ホームページを公開する側)とWebクライアント(つまりWebブラウザ、ホームページの情報を閲覧する側)が、相互に通信するために用いられるものです。WebサーバとWebブラウザとの間では、表示の見栄え(体裁)などを決めた書式(フォーマット)であるHTML(HyperText Markup Language, ハイパーテキスト マークアップ ランゲージ)これはWebページを作成するための言語などといった情報リソース(テキストファイルやイメージファイルなど)をやりとりするための仕組みがHTTPとなります。実際にWebブラウザがリクエストを送信することで、Webサーバから送られてきたHTMLなどをWebブラウザが受け取り表示するという仕組みです。Webブラウザでは受け取ったHTMLなどを指定された体裁で情報を表示してくれるのです。HTTPがないとインターネット(Internet)上のホームページ(Webサイト, World Wide Web)を見ることができなくなるので、今や無くてはならない仕組みとなります。ミツバチが花粉を着けて自由に飛び回り受粉を誘うかの如く、HTTPという名のミツバチがHTMLなどのリソースの花粉を我々に運んでくれるのです。その運ばれた花粉を脳内に受粉することで我々は知識や教養という名前の果実を実らせるのです。

 HTTPはミツバチの体躯と同じく三つの部位から構成されており、リクエスト/レスポンス、ヘッダー、ボディとなっています。最初のHTTPリクエストは要求を伝える内容のメッセージです。このメッセージにはメソッド、URI、HTTPバージョンが記載され、URIを指定したリソースに対してメソッドで何をしてほしいのかを伝えるというものです。GETメソッドならリソースを取り出してほしい、POSTメソッドならデータを送ります、という具合です。HTTPレスポンスはこのリクエストに応答した処理結果を伝えるメッセージです。(過去記事「第14回 夜と霧 」ご参照のこと)次にHTTPヘッダーには各種メタ情報が記載されています。リクエストの場合であればブラウザの情報やキャッシュの生存期間など、レスポンスの場合はボディ部にあるコンテンツに関する情報などです。そして最後にHTTPボディにあるのが送信するデータになります。リクエストの場合は、POSTメソッドで指定したデータなど、レスポンスの場合はHTMLなどのリソースとなります。

 このHTTP/HTMLによるWorld Wide Web(WWW)を考案しハイパーテキストシステムを実装したのがティム・バーナーズ=リー(Tim Berners-Lee)であり、彼の功績によって我々はインターネットという情報の大海を波乗りできる恩恵を得られたのです。(筆者は金槌ではありますが)

 このHTMLに新しい機能が組み込まれようとしているのはご存じの方も多いでしょう。新しい花粉ともいえるHTML5という大幅な改訂が為された仕様です。HTML5では広義の新機能(Web Storage, WebSocket, etc...)も機能毎に検討が為されていますが、目玉としてマルチメディア要素(videoタグ)を加えることでビデオやオーディオの再生までブラウザでできるようにするという野心的な目論見が行われています。これはこれまでデファクト・スタンダードであったAdobe Flashを置き換える存在ともなり得ましょう。HTML5は既に仕様が勧告されており、特にモバイル分野ではHTML5対応のブラウザも今後更に増えるものと予想されます。ですがこのHTML5に留まらず今回盛り込まれなかった機能などさらなる仕様改訂が今後進められるものと推測されます。この仕様を定義している団体は、World Wide Web Consortium(W3C)であり前述のTim Berners-Leeが設立し率いているのです。

 他方、HTTPも次期バージョンへの改訂が進んでいます。まさに丁度執筆中の今現在(2015/02/18)に "HTTP/2 is Done"(post by Mark Nottingham, chair the IETF HTTP Working Group)というニュースが飛び込んできました。(W3Cではなく) IETF(Internet Engineering Task Force)で策定が進んでいるHTTP/2の仕様がRFCにて番号が振られて公開されるのも間近の様子です。この新種のミツバチであるHTTP/2は、Googleが提唱するSPDY(スピーディー)というプロトコルを起草として様々な機能拡張が予定されているのです。起草となった名前が意味するように「高速化」を主眼に於いた改訂内容になっているようで幾つかの工夫が凝らされています。例えば、ヘッダーが「テキスト」ではなくて「バイナリ」になって圧縮され効率よく送信されるようになります。加えて圧縮率を補完するために差分だけを送信するというHPACKという圧縮アルゴリズムも採用されています。また、これまでパイプライン機能で一部通信の多重化を改訂してきたのをストリーム機能による多重化に刷新して並列度を上げ同時リクエスト数を大幅に増大した上に、今までバラバラだった輻輳制御(ふくそうせいぎょ)を改良して帯域をより効率よく利用可能にもなるのだそうです。更にはサーバープッシュという機構によってレスポンスに必要なリソースを事前にクライアントに送り付けてキャッシュされることで、リクエスト自体が発生しないという仕掛けも考えられています。このようにHTTP/2では通信の高速化に貢献できる工夫が施されている仕組みとなる見込みです(既に幾つかの実装も公開されている様子です)。まずは高速化を図りたいサービスなどで局所的に普及が進むのではとも憶測されます。

 この様に大きな変更が加わるときちんと接続できるのか?という相互運用性について危惧されますが、その心配は当面の間は回避されそうです。仕様では、今まで通り "http://" 或いは "https://" のURLを使います。その後にHTTP/2での接続が可能であれば切り替わるという仕組みが提供されるそうです。総本山で如何なる仕様が決まったとしても、現在進行形で際限なく膨れ上がるWebのコンテンツを提供する全てのシステムが同時期にアップデートされるはずがないのですから、後方互換性の提供は必須でしょう。しかしながらこの大きな変化の影響は、あまり長くない時間の経過に従って次第に普及が進んで行くことでしょう。それによりウェブに大きな変化をもたらすのであろうと考えられます。

 ここでHTTPの喩えとしたミツバチは蜂蜜だけではなく食卓を彩るリンゴなどの果実やアーモンドなどの木の実、そしてお米などの種々の穀物に至る様々な実りを我々にもたらしてくれています。「月下氷人」(げっかひょうじん)になぞらえられるほど自然界に不可欠で稀有(けう)な存在であるそんなミツバチなのですがショッキングな事実があります。

 2009年に出版されたローワン・ジェイコブセン(Rowan Jacobsen)著(翻訳:中里京子)に「ハチはなぜ大量死したのか」(原題: "Fruitless Fall: The Collapse of the Honey Bee and the Coming Agricultural Crisis", 「実りなき秋」)があります。本書を拝読することでミツバチが生態系にもたらしている恩恵がいかほどのものなのかを思い知ることができます。その稀有で重要な存在のミツバチに蜂群崩壊症候群(Colony Collapse Disorder、CCD)という原因不明の非常事態が起きているのも同時に知ることになりましょう。北半球から四分の一のミツバチが失踪あるいは大量死した容疑者としては、幼虫の体液を吸いコロニーに蔓延するミツバチヘギイタダニ、神経を麻痺させるネオニコチノイド系農薬の乱用、何らかの疫病やウイルスの類(たぐい)、養蜂箱の長距離輸送によるストレス、携帯電話の電磁波説、果ては地球温暖化による異常気象という容疑者達が名を連ねます。この謎に満ちたCCDの原因究明を論理的に推理しようという試みが本書の本筋なのです。その過程でミツバチの習性や自然の合理性、そして自然界の連鎖について論理立てて教えてくれます。推理小説を読むがごとくスリリングな展開と旺盛な知識欲を本書が満足させてくれることでしょう。

 「実りなき秋」"Fruitless Fall" の以前にも人間が生態系や自然環境に大きな悪影響を与えていることに警鐘を鳴らした書籍として著名なものとして1962年に出版されたレイチェル・カーソン(Rachel Carson)著作の「沈黙の春」(原題: "Silent Spring")がありました。急激に工業化する中で環境問題がお座成りにされて関心が薄かった時代の中で、彼女が生態系に与える甚大な被害は人間が撒き散らす化学物質であると問題提起をしたことは特筆すべきことでありましょう。そして書籍が古典とも言えるべき時間が経過している現在に於いてすら、何らその警鐘が生かされていないのが悲しい現実でもあります。

 それほど遠くない昔には、人々は自然に対して畏怖しそして同時にその恵みに感謝をしながら自分が大きな流れの中で生かされていることを無意識に感じ素直に受け入れていたのでありましょう。人は自然の前ではちっぽけであり畏敬の念を懐き謙虚に振る舞うのです。ですから誰しもが行動を起こす際に尊大になってしまっては自らを滅ぼすのみならず、周りにも迷惑を掛けてしまうのを、いつでも留意すべきなのだと強く思います。冒頭の態度のように時折、尊大な態度をとってしまう筆者も毎回反省を繰り返しています。

 まずは背筋を伸ばし姿勢を整えてから真摯に相手に向き合うべき、と自らを戒めています。そうでなくては何も伝わりはしないのですから

 次回もお楽しみに。

 


 

 [IT研修]注目キーワード   Python  UiPath(RPA)  最新技術動向  Microsoft Azure  Docker  Kubernetes