キーワード:サーバー 解除
今後はWebプログラミングも勉強しようと前から書いてましたが
ようやくその勉強用の仮想環境構築がひととおり終わりました。
物忘れが酷いので記録しながらの設定で結構時間かかりましたw

自宅に設置してるサーバーはもうだいぶバージョンも古いので
新しいバージョンをテスト用に構築しようと思って構築しました。

新しいと言っても、何年か前のバージョンなのでこちらも十分古いんですけどねw
あと、自宅サーバーにしている方はデータベースにPostgreSQLを使ってるんですが、
何か色々と見ていたらMySQL使ってる所が多いみたいなので
今回はMySQLを設定しました。

linux-vm01

これでとりあえず、PHPやらCGIのテストができます。
Javascriptはクライアント側だけで一応テストはできますが、
PHPやCGIなんかのサーバーサイドのプログラムはサーバーが必要になります。

本番のサーバーでテストもなしにいきなりプログラムを動かして
バグとか不具合でサーバーに負荷かけたら目つけられそうですからねw
テストはしっかりやらないといけないです。

まだ設定したばっかりなので設定がおかしくて動かない場合は微調整が必要ですが。。。

とりあえずここまで。

RedHat系のLinuxばっかり使ってますが、FreeBSDとかも今度環境作っていけたらと思います。
ひさしぶりの更新です。
今年も初回からPC関連で突っ走りますんでよろしくお願いします。

タイトルにあるサーバーとクライアントについてです。
結構前からサーバーなんかは耳にしていたかと思います。
ビアガーデンとかに行けばありますね。

あれはビールサーバーですが、コンピューターのサーバーもあんな感じです。
クライアントはビールを持ってビールサーバーに並ぶ人でしょうか。

コンピューターで言うサーバーは何らかのサービス(処理)をクライアントのコンピューターの
要求に応じて特定の処理を行い、結果を返すものです。
サーバーは目的に応じて色々とありますが、基本的にスペックが高いものが多いでしょう。
ただし、自分のように個人的に使うだけのようなものは
10年ぐらい前のデスクトップPCでも十分に使えます。

サーバーを設置してある企業や団体ではサーバーラックがあり、
そこにいくつもサーバーを設置してあったります。
また、稼働率を高めるために冗長構成になっているものが多いです。
もちろん、空調に気をつけないと多くのサーバーの熱によってサーバー室の温度が上がり、
サーバーが熱暴走したり、機器の寿命を縮めたりする原因になります。

さて、サーバーはクライアントから要求があったら処理を行い、結果をクライアントに返すと書きましたが
「処理って一体なんね?」と思うかもしれません。

その「処理」ですが、サーバーの種類により様々です。
ここでは身近な(?)Webサーバーを例にあげます。

WebサーバーにはWebサーバーのプログラム(ソフトウェア)がインストールされていて、
Webサービスを提供する機能があります。
Webサーバーのソフトウェアで有名なのがオープンソースのApacheや、MicrosoftのIISなんかがあります。

ではクライアントは何でしょうか?
この端末ですよ。
そう、あなたがここを見るのに使ってる端末です!
PCなのかAndroid端末なのかiOS端末なのかは人それぞれですね。
もっと言うと、クライアントにもWebサービスを受けるためのソフトウェアがあります。
言うならば「Webクライアント」でしょうか。それがブラウザです。
InternetExplorerなのか、Firefoxなのか、Chromeなのか、SafariなのかOperaなのか知りませんが
インターネットを閲覧するソフトウェアを「Webブラウザ」と言います。
Webのお仕事で食べてる人にはUserAgent(ユーザーエージェント)と言っても通じると思います。
(ちなみに私はWeb専門外なので通じませんw)

さて、ではブラウザはどのような処理を要求してサーバーはどのような処理をして結果を返すのでしょうか?
わかり易く天草弁で書きます。
PC操作者「○○のHPば見っぞ!」 ・・・ッターン!
ブラウザ「おーい!あんたがえんそこんにきにある○○っていうファイルば見せっくれな。」
サーバー「これや?よかぞ、ほれ」
ブラウザ「来た来た!ならこればPCん前にうっ座っとるしーに見やすかごつしてみせようかね」
PC操作者「よよんこて出てきた。」
こんな感じです。

もう少し実際の処理に近くして例えます。
PC操作者「http://○○.jpを見るか
ブラウザ「○○.jpさん、あなたのWeb公開フォルダのindex.htmlを見せてください」
サーバー「いいですよ、index.htmlを送ります」
ブラウザ「受け取りました。レンダリングして表示します。」
PC操作者「やっと出てきた」
どうですか?
実際はHTTPというプロトコルでやり取りしていますが、人間の言葉で書くと
このようなやり取りを行っています。

また、こういう場合もあります。
ブラウザ「おーい!あんたがえんそこんにきにある○○っていうファイルば見せっくれな。」
サーバー「は?そぎゃんたなか!!」 → 404 Not found
ブラウザ「なんて?なかとや?なかってぞ!!」
指定したファイルが見つからない場合ですね。

他にも、、、
ブラウザ「おーい!あんたがえんそこんフォルダん中(ファイル)ば見せっくれな」
サーバー「つまらん!こりゃ見せられん!!」 → 403 Forbidden
ブラウザ「なんやケチ。見せられんとってぞ。」
等があります。

また、CGIなどのサーバーサイドのプログラムではCGIの出力した結果を返すようになっています。
その場合、こういう事もあり得ます。
ブラウザ「おーい!あんたがえんそこんにきにある○○っていうとばいごかして結果ばゆっかせてくれな
サーバー「こんプログラムはおかしか!!結果の出せん!!」 → 500 Internal Server Error
ブラウザ「なんやおろいかプログラムな。」
ですね。

他には(しつこいw)
ブラウザ「おーい!あんたがえんそこんにきにある○○っていうファイルば見せっくれな。
サーバー「ちょっとまて!今せしきゃーさな!後にしてくれんか!」 → 503 Service Unavailable
ブラウザ「しょんなかな」
まぁ、他にも色々とありますが、キリがないのでこの辺にしときますねw

今回は大雑把なサーバーとクライアントの役割をHTTPで例えて書いてみました。
別の機会に、Webの通信なんかについてちょっとだけ掘り下げて書いていこうと思います。
[ 1 ]      2件中 1-2件