色々なところで聞く単語「サーバー」。
Webサイトを公開する上で、無いと困るサーバーについて、その役割と種類等を2つほど説明したいと思います!
サーバーってなに?
そもそも、サーバーって何をするのかが分からない人が多いと思います。
Wekipediaの説明を読んでみますと、
サーバあるいはサーバー(英: server)は、コンピュータの分野では、本来はソフトウェアの用語であり、クライアントサーバモデルにおいてクライアントからの要求に対して何らかのサービスを提供する役割を果たす側のプログラムを指す言葉である。HTTP サーバ、IMAP サーバ、X-Window サーバなど規模や形態などは様々ある。
また、サーバーソフトウェアを稼動させているコンピュータ機器そのもののことも、サーバと呼ぶ場合がある。
(引用:wikipediaより)
Wikipediaの説明では、クライアントつまり、使う人からの要求に対してサービスを提供するプログラムのことを指しています。今回は、プログラムを提供するサーバを説明したいと思います。
HTTPサーバーとは
HTTPサーバは、TCP/IP通信の一種です。
最近は、インフラの発展により少なくなりましたが、皆さんがWebサイトを閲覧しようとして、サイトを開いたときに404 :Not Foundとブラウザに表示されたことがあると思います。
404:Not Foundと返ってくることが出来るのはHTTPサーバが通信を行ってくれているからです。
この404のことをステータスコードと呼び、コロンの後の文章は返ってきたステータスコードの説明になります。
このステータスコードには、いくつかの種類があって、皆さんが眼にすることがある物は下記になると思います。
・200:OK
・301:Moved Permanently
・302:Found
・401:Unauthorized
・402:Payment Required
・500: Internal Server Error
このほかにも、たくさんありますが、ブラウザに映らないだけで色々なものがやり取りされているのです。
200や500などと言った色々な数字がありますが、ステータスコードの意味として、
1xx:Informational、情報(クライアントのリクエストを受け、処理を継続する)
2xx:Success、成功(リクエストを受けて、受理している)
3xx:Redirection、リダイレクション(追加の処理を行わないとリクエストが完了しない)
4xx:Client Error、 クライアントエラー(クライアントから返ってきたリクエストに誤りがあった)
5xx:Server Error、 サーバエラー(サーバーがリクエストの処理に失敗した)
など100の位の数字ごとに上記に記載したような意味合いを持っています。
例えとしてわかりやすいものは、404:Not Foundなので、それで説明をします。
404:Not Foundは、未検出の際に返されるステータスコードです。
つまり、サイトを検索して開こうと思ってリンクを叩いたときに、接続先のサイトが見つからないと返されるコードです。
404の他にも401:Unauthorizedと言うものがあり、こちらはBasic認証など、認証が必要なときに送られてくるものがあります。
401が送られてくると、認証ダイアログが出てきて、IDとパスワードを聞かれますが、
それに応えられないときに、画面に表示されるはずです。
このように、リンク先のサイトが見つからなかったときや、何らかの理由(今回はパスワードが分からない等)で、見られないときに、4xxは返ってきます。
そして、Webの世界特有の謎のノリで作られた番号もあります。
418:I’m a teapotというもので、ティーポットにコーヒーを淹れさせようとして、返ってくるとされている。
冗談で作られたステータスコードがあります。
(URL:https://ja.wikipedia.org/wiki/Hyper_Text_Coffee_Pot_Control_Protocol)
また、この冗談のようなコードを使って、製品を作った猛者もいます。
IMAPサーバーとは
IMAPサーバーは、すごく身近なものです。
メールの送受信を行うサーバーで、メールの設定をするときに見かけるPOPサーバと似ているものです。
2種類のサーバーがありますが、似ていると書いたのには意味があって、メールを見ることが可能という結果は一緒ですが、
見るまでの過程が違います。
POPサーバーとの違いはメールを見る場所になります。
POPサーバーを使っている場合、メーラー(メールの受信するアプリケーション)がPOPサーバからメールをダウンロードして、ローカル上でメールを読みます。
それに対して、IMAPサーバーの場合は、サーバー上にメールを保存します。
POPサーバーは、一箇所の端末でダウンロードした場合、他の端末で見ることは出来ないです(設定によってサーバー上のメールを直接見ることも出来ます)。
IMAPサーバーは、サーバー上にメールを保存しているので、そのアカウントに入れる端末さえあれば、複数の端末で同時に見れます。
Gmailなどが、IMAPサーバーを使っています。
ですが、IMAPサーバーを使用している場合はデメリットがあります。
滅多に無いことですが、サーバー自体が落ちてしまったときに、全てのメールを見ることが不可能な点です。
まとめ
Webサーバーには色々な種類があって、今回説明した物の他にも、重要なサーバーが存在します。
そういったものを組み合わせたり、読み込ませてWebサイトが出来ているのだと改めて実感しました。
今回のように自分があまり知らない知識を調べてみると、I’m a teapotのように不思議な発見が出来るため、Webの世界は面白いです。