Entries


上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

-件のコメント

[C374] NWエンジニアより

某金融系NIだけれども、トラブル解析のためにミラーポート作ったりは結構普通にやります。
ミラーポートというのは、WANを流れているトラフィックをパケットキャプチャ出来るようにするものです。

ちなみに、IIJの中の人も、同じようなことを言ってたような、言ってなかったような。でも、通信の傍受は一応通信事業者法で禁止されています。まともなISPならだいたい大丈夫です。

でも、無線APとかは簡単に傍受できるので、sslは本当に重要です。

というか、こんにちは!
  • 2010-04-14
  • 投稿者 : Chama
  • URL
  • 編集

[C377] Re: NWエンジニアより

>>Chamaさん

コメントありがとうございます!
なるほど,ちゃんと通信事業者法あるんですね。勉強になります。Chamaさんネットワーク系だったんですか。
ぷぎえもんはいまlinuxとかTCP/IPの本を借りて読んでいます。まずはネットワーク系に進みそうな感じです。


> 某金融系NIだけれども、トラブル解析のためにミラーポート作ったりは結構普通にやります。
> ミラーポートというのは、WANを流れているトラフィックをパケットキャプチャ出来るようにするものです。
>
> ちなみに、IIJの中の人も、同じようなことを言ってたような、言ってなかったような。でも、通信の傍受は一応通信事業者法で禁止されています。まともなISPならだいたい大丈夫です。
>
> でも、無線APとかは簡単に傍受できるので、sslは本当に重要です。
>
> というか、こんにちは!
  • 2010-04-15
  • 投稿者 : ぷぎえもん
  • URL
  • 編集

コメントの投稿

新規

※設定NGワードは『http』です

投稿した内容は管理者にだけ閲覧出来ます

-件のトラックバック

トラックバックURL
http://pugiemonn.blog6.fc2.com/tb.php/1229-7f4a14bf

職業訓練:インターネットとサーバー


クライアント・サーバー


ウェブサイトを見るということはどういうことでしょう.

リクエストとレスポンス

アドレスを入力するとウェブサーバー(別のコンピューター)が,HTML情報というものを現在使用しているコンピューターに届けられます.そしてブラウザを介して絵になります.

アドレスください→じゃあhtml返すよ

という一往復が通信の基本単位です.そしてその要求をリクエストといい,返信・応答をレスポンスといいます.

クライアント・サーバーについて

リクエストをくださいという要求をする側クライアント,応答を返すほう,情報を持っているほうをサーバーといいます.この関係をクライアント・サーバーモデルといいます.

サーバーとは給仕という意味ですね.

待っていると情報は来ません.要求をだして返ってくる一往復のものをクライアント・サーバーといいます.

サーバーのお仕事は聞く仕事です.耳をすましています.要求が来るのを待っています.実際にサーバーの用語にListenがでてきます.

クライアントとは

要求したり,要求に対する返答を受け取るものです.

ユーザーエージェントとは,利用者がデータを利用するためのソフトウェアです.
HTTPのユーザーエージェントはウェブブラウザです.
IEや火狐やSafariなど

電子メールのためのユーザーエージェントはメーラーのことです.
OutlookとかThunderbirdなど

サーバーとは

クライアントからの要求に対し,何らかのサービスを提供するものです.基本はサーバーの情報に加え,ほかの情報HTMLなどをおまけで送るのです.

HTTPのサーバーはウェブサーバーです.
Apacheなど

電子メールサーバーとはメールサーバーのことです.
sendmailやqmailなど

クライアント・サーバーではない通信モデル

Peer to Peer(P2P)などです.
それぞれのPCに役割が固定されておらず,複数のコンピュータ間で対等に通信する方式です.

ファイル共有で困るのはすべての端末にファイルがコピーしてしまうことですね.
また電話の考え方はP2Pです.

プロトコル

複数のコンピュータの間で情報を受け渡しする際,要求するルールと返事をするルールがあります.相手がほしい言葉や形があるのです.その取り決めのことをプロトコルといいます.

スターウォーズにC3POという300万言語を扱えるロボットがでてきます.それをプロトコルドロイドといいます.

HTTPについて

HyperText Transfer Protocolのことです.

HTTPとはプロトコルのことなのです.HTTPユーザーエージェントとウェブサーバーのお話の仕方,プロトコルをHTTPといいます.

"GET /index.html HTTP/1.1"というリクエストを例えば送ります.
おたくのサーバーから/index.htmlというものをくださいという手紙を送ります.

ウェブサーバーはレスポンスとして/index.html情報を送ります.

POP3について

メールのプロトコルです.メーラーで受信ボタンを押すとメールが来ますよね.
リクエストは"RETR 45"45番のメールをくださいと送ります.するとメールサーバーは文字列を返します.

Post Office Protocol Version3といいます.プロトコルという文字が入っていますね.



ウェブサーバー


ウェブサーバーのお仕事はドキュメントをもらうということです.『要求に対応する文書を返答する』ことです.

http://pakuri.neet-system.com/category/nicovideo/index.html
ドメインとは住所です.その下が要求になります./category/nicovideo/index.htmlが要求です.

静的アクセスと動的アクセス

静的アクセスとは,リクエスト時にコンテンツは生成済みのものです.

動的アクセスとは,リクエスト時にコンテンツを生成して,返答する方式です.テンプレートにデーターベースの情報などをくっつけ,そのときの状況に応じて完全なHTMLを構築してユーザーに返してあげる仕組みのことです.検索エンジンの検索結果,ブログやECサイトなどは動的システムです.

静的(Static)リクエスト時にコンテンツは生成済みです.

動的(Dynamic)リクエスト時にコンテンツを生成することです.

CGI,PHP

ウェブサーバーと外部のプログラムとの入出力を結ぶ仕組みのことです.よく使われるものでCGIと呼ばれます.Common Gateway Interfaceの略ですが,これは覚えてください.Interfaceとは仕組みのことです.

サーバーの中にはウェブサーバーとプログラムが同時に動いています.サーバー内のウェブサーバーからのリクエストをプログラムに渡します.そしてプログラムはレスポンスをかえします.レスポンスを返したらウェブサーバーはスルーしてクライアントに返します.そのスルーする仕組みをCGIといいます.

PHPとはウェブサーバーと一体となってプログラムを処理する言語のひとつです.CGIとして動く方式もあります.完成されたHTMLを動的に返すことが可能です.デザイナーも非常に扱いやすいです.いまウェブサイトを作るとなった段階ではほとんどがCGIやPHPを使用している動的なページとなっております.

ウェブサーバーの製品群

  • Apache HTTP Server(Apache)
  • Internet Information Server(IIS)
  • lighttpd

などなどです.

半分くらいはApacheが使われているということは把握しておいていただきたいです.
http://news.netcraft.com/archives/web_server_survey.html
ネットクラフトという場所ですがここを見てください.ほかにもいろいろ探してみてください.
LAMPについて

  • Linux
  • Apache HTTP Server
  • MySQL
  • PHP/Perl/Python

とはつまり
  • OS
  • Web Server
  • Database
  • Language

のことです.

まずはオープンソースソフトフェアOSS,皆さん自由に使ってくださいというもの=無料を覚えてください.LAMPとはオープンソースなのです.LAMPはすべてOSSです.
動的コンテンツによるウェブサイト構築に適した,オープンソースソフトウェアによるウェブサーバーの構成の通称のことです.OSSが良く聞こえますが,無償なのでサポートがありません.運用する人に対する技術的なバックボーンが必要になります.一般的にはラーニングコストがかかるため結果的にOSSのほうが高くつくという話もあります.安全に確実にやるならば有償のWISAを使用しています.

mixiなんかはLAMPを使っていますよね.大規模サイトになるOSSを扱える高コストな人材を抱えている場合が多いですね.
Apacheの設定など

DocumentRoot URL上のトップ階層とサーバー上のディレクトリとの対応を記述します.

DirectoryIndex URLにファイル名がない場合に返答するふぁいるを記述します.
http://pakuri.neet-system.com/category/nicovideo/というアクセスではファイル名が指定されていません.ここにindex.htmlとしておけばhttp://pakuri.neet-system.com/category/nicovideo/index.htmlをレスポンスとして返します.

その他
Options
AddType
RewriteRule
Auth****

HTTPの実際について


プロトコルの実際についてです.
Webをやられる方のメインブラウザというのはFirefoxが多いでしょう.先にFirefoxで作り,後からIEで表示されるように作るのが上達の近道でしょう.余談でした.

Firefox+Firebugを使用して見てみましょう.Yahooのトップを見てみましょう.接続パネルを有効にしましょう.
YahooJapanのトップで利用すると30件のリクエストをして,7秒かかったなど表示されますね.要するに30回通信しているということです.これを使うとページで表示されない部分や処理が遅い部分などを調べることができます.

再びプロトコルについて

Yahooのトップを見ると最初にhtmlを取りに行ってます.これではまだブラウザは表示しません.そして足りない画像などをすべて取りにいった後ではじめて表示するのです.

要求,リクエストの部分ではリクエストヘッダというものがあります.ユーザーエージェントやリファラーなどを送っています.そしてサーバー側では要求だけではなくて,レスポンスヘッダというものを送っています.ステータスコードやコンテントタイプなどです.

これを知っておくとウェブで何が起こっているのかがわかります.

リクエストについて

リクエストの中身,サーバーに対して何を送っているのかを見てみましょう.

  • リクエストメッセージ
  • ユーザエージェント
  • リファラー

リクエストメッセージではGET /index.htmlと送っていますが,ユーザエージェント情報も送っています.ですからサーバー側ではFirefoxなのかIEなのかDoCoMoなのかKDDIなのかがわかります.

リファラーとは参照元のことです.どこからやってきたのかという情報です.
これらはFirebugを使えば見ることができます.ぜひ見てみましょう.

リファラーについて検索結果などおまけ

Googleで検索した結果には例えばsoccerで検索すればURLにsoccerという単語が入っています.

そしてYahooのサッカーのページではGoogleから来たリファラーにsoccerという単語が入っているから,どういう目的の人が来たかということを把握することができます.アクセス解析などはこれを使用して作っています.もともとインターネットで論文の引用元を使用するために設けられた機能のようです.

レスポンスについて

レスポンスの中身についてです.サーバーから何が送られてくるのでしょうか.
  • ステータスコード
  • コンテントタイプ
  • 要求内容

ステータスコード200はあった場合に返ってきます.404は値がない場合に返ってきます.
コンテントタイプとはtext/htmlやimage/jpgなどと送ります.

これらもFirebugを使えば見ることができます.ぜひ見てみましょう.

URLの構成について

文章の住所のことをURLと言います.Unified Resource Locatorです.直訳は統一された情報位置ですね.
http_URL="http:""//""host[":"port] [abs_path["?" query]]
スキーム+ホスト+ポート+パス+クエリとなります.
[]で囲った部分はオプションでありますので無くても大丈夫です.間違いではありません.

IETF RFC2616 HTTP/1.1
というところで代表的な規定内容は書かれています.
Internet Engineering Task Forceですね.インターネットの技術をやるところです.一方でW3CというのはWebのコンテンツをやるところです.なので電子メールのルールなどはIETFの分野です.

RFCとはIETFが定めたルールブックのことです.RFCの2616番にウェブの仕組みや書式が書かれています.
http://www.ietf.org/
http://www.ietf.org/rfc/rfc2616.txt
ここです.ここを読む人はブラウザを作る人,ウェブサーバーを作る人はここのルールを知っていなければなりません.和訳もrfc2616でぐぐればでてきます.

この中の3.2.2や6.1.1や10.4.5を見てみましょう.
その他ですとRFC1081にはPOP3について書いております.
認証(BASIC認証)

BASIC認証は2往復になります.一度サーバーは401を返します.401と言われたのでブラウザがダイアログを出しています.そしてパスワードを入れたリクエストを投げます.そして認証が行われたら200が返ります.

そして一度認証が通れば,ブラウザがパスワードを覚えているので,別のページに行っても同じページを表示するのにパスワード入力は必要ありません.
ステータスコードについて

200 OK
401 Unauhtorized
403 Forbidden
404 Not Found
500 Internal Server Error
このあたりは技術的に混み入っておりますが把握しておきましょう.
だめならだめで500を返すというのがルールです.

3XX Redirection
4XX クライアントエラー
5XX サーバーエラー

問題がある場合はFirebugを利用してみてみましょう.
またまたプロトコルの話です

問題があったときに役にたつのがこのヘッダー情報です.
ステータス情報304についてです.
304 Not Modifiedとは

キャッシュの話をしなければなりません.一時ファイルを表示してコンピュータを高速化する仕組みのことをキャッシュと言います.なるべく近場にあればよいものを取ってきます.それをキャッシュと言います.

それを踏まえて304といったキャッシュの動きを理解してください.

一度読み込むと200で画像が送られてきます.
次に読み込むと304が返ってきて画像が無い状態で返ってきますが,ブラウザでは表示されます.これは200で画像が来たときに,一時ファイルとして画像が保存されるのです.キャッシュには必ず日付を保存します.次にアクセスした際にはキャッシュの日付をリクエストにもって送信します.するとサーバーはその日付を見て,そのファイルはサーバー側で変更が無いですよという意味で304を返します.お宅のキャッシュを使ってくださいと返すのです.そしてブラウザはキャッシュを使って表示します.このキャッシュの仕組みにより,データ量が少なくなるために高速化が行われます.
リクエスト言語

たいてい日本人がブラウザでアクセスすれば日本語のページが返ってきます.YouTubeなどですね.リクエストにAccept-Languageがjaとあれば日本語でページをくださいと言う意味です.なのでレスポンスでは日本語のページを返します.ブラウザの設定には言語設定があります.そこを変えればリクエストの言語を変更できます.

その他User-Agentが携帯ならば携帯のページを返したりということをします.ドコモのUAで調べればわかりますが,携帯では機種までわかります.

これを簡単にやるならば,FirefoxのUser Agent Switcherを使用してください.Header情報は簡単にごまかすことができます.これは犯罪でもなんでもなくて,ルールに従った動作をするだけです.実験を自由に行うことができます.

セキュリティについて

インターネット上の通信は郵便葉書並みのセキュリティレベルです.要するに通信インフラの会社の社員ならば,郵政職員が葉書を見ることが可能であるように,情報を見ようと思えば見ることができてしまいます.その程度のセキュリティレベルです.傍受される前提で本当の情報がわからないようにすることが大切です.

暗号の基本的な考え方としては,送り主と受け取り手だけに鍵を持たせておき,暗号を解読します.要するに見られてもわからない形式で通信を行えばよいのです.これを共通鍵の考え方といいます.この暗号にすることを暗号化,暗号を解くことを複合化といいます.

問題はどうやってインターネットで鍵を渡すのかということになります.なぜなら葉書程度のセキュリティで鍵の情報を送ると言うのが無茶です.

公開鍵暗号基盤 Public Key Infrastructure PKIと言います.これを覚えてください.
WebHTTP=SSL Secure Socket Layer
公開鍵と秘密鍵の二つが存在します.公開鍵で暗号化したものは鍵をかけた公開鍵では複合化できないのです.複合化には秘密鍵が必要です.これは公開鍵は暗号化する時だけ使うのです.公開鍵はむしろ広く公開されています.例えばそれはYahoo専用です.Yahoo側は秘密鍵を持っているので,Yahooに来た暗号をYahooしか解読できません.

私の感想


非常に面白い内容でした.なんというかいままで脳内でバラバラに取得されていた知識のそれぞれが繋がった感じがしました.個々それぞれは既に知っている内容ですけど,一気に話されるとわかった気分になります.

聞いていたメンバーで盛り上がっていたのはごく一部で他の多くの人は眠かったみたいです.もっと視覚的にわかるように説明してくれないと分からないという話がありましたね.確かにずっと座学ですしイメージしにくい内容ですから退屈な面はあると思います.理解のステップとしてやはり背景知識があるとわかりやすいのかもしれませんね.ぷぎえもんはApacheとかBASIC認証など触ったことがあるので理解しやすかったですけど,前提知識が無いままにいきなりBASIC認証で401コードが返ると説明されても途方にくれてしまうかもしれません.

でも非常にためになる内容だったと思います.

Windowsサーバークックブック ―ネットワーク管理者のためのレシピ集Windowsサーバークックブック ―ネットワーク管理者のためのレシピ集
(2006/05/01)
Robbie Allen

商品詳細を見る

2件のコメント

[C374] NWエンジニアより

某金融系NIだけれども、トラブル解析のためにミラーポート作ったりは結構普通にやります。
ミラーポートというのは、WANを流れているトラフィックをパケットキャプチャ出来るようにするものです。

ちなみに、IIJの中の人も、同じようなことを言ってたような、言ってなかったような。でも、通信の傍受は一応通信事業者法で禁止されています。まともなISPならだいたい大丈夫です。

でも、無線APとかは簡単に傍受できるので、sslは本当に重要です。

というか、こんにちは!
  • 2010-04-14
  • 投稿者 : Chama
  • URL
  • 編集

[C377] Re: NWエンジニアより

>>Chamaさん

コメントありがとうございます!
なるほど,ちゃんと通信事業者法あるんですね。勉強になります。Chamaさんネットワーク系だったんですか。
ぷぎえもんはいまlinuxとかTCP/IPの本を借りて読んでいます。まずはネットワーク系に進みそうな感じです。


> 某金融系NIだけれども、トラブル解析のためにミラーポート作ったりは結構普通にやります。
> ミラーポートというのは、WANを流れているトラフィックをパケットキャプチャ出来るようにするものです。
>
> ちなみに、IIJの中の人も、同じようなことを言ってたような、言ってなかったような。でも、通信の傍受は一応通信事業者法で禁止されています。まともなISPならだいたい大丈夫です。
>
> でも、無線APとかは簡単に傍受できるので、sslは本当に重要です。
>
> というか、こんにちは!
  • 2010-04-15
  • 投稿者 : ぷぎえもん
  • URL
  • 編集

コメントの投稿

新規

※設定NGワードは『http』です

投稿した内容は管理者にだけ閲覧出来ます

0件のトラックバック

トラックバックURL
http://pugiemonn.blog6.fc2.com/tb.php/1229-7f4a14bf

Appendix

プロフィール

川崎修

  • Author:川崎修
  • インターネット大好き!
    調布周辺で自宅警備してます



    メール:pugiemonn@gmail.com
    skype:pugiemonn
    twilog:Twilog
    mixi:mixi
    facebook:facebook
My Profile by iddy
FC2ブログ

カレンダー

07 | 2017/08 | 09
- - 1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31 - -

最近の記事

Twitter

コミュニティ

ブログ内検索

ブロとも申請フォーム

この人とブロともになる

Adsense

月別アーカイブ

はてぶ数

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。