システム開発をする上で、Webサーバの仕組みは必ずと言っていいほど知らなければいけません。
[chat face="businessman6_bikkuri.png" name="Bさん" align="left" border="blue" bg="blue" style=""]え、まだよくわかってないんだけど…[/chat]
本記事では、Webサーバについて図を交えながら分かりやすく解説していきます。難しいものではないので、エンジニア初心者の方やWebサーバについてよく知らない方はこの機会に理解していきましょう!
Webサーバとは
Webサーバについて、Wikipediaにはこのように記されています。
Webサーバ(ウェブサーバ、英:Web server)は、HTTPに則り、クライアントソフトウェアのウェブブラウザに対して、HTMLやオブジェクト(画像など)の表示を提供するサービスプログラム及び、そのサービスが動作するサーバコンピュータを指す
もっと言うと、Webサイトを公開させる機能を持つミドルウェアがインストールされているサーバが“Webサーバ”です。
Webサーバが公開するコンテンツには、HTMLファイルや画像などの静的コンテンツと呼ばれるものと、アプリケーションなどの動的コンテンツと呼ばれるものがあります。
公開するコンテンツによってシステムの構成は変わってきますが、どちらにせよコンテンツを公開しているはWebサーバのなので、システム開発をする上でWebサーバの理解は重要なのです。
そもそも「サーバってなんだっけ?」ていう方は、こちらの記事をどうぞ。
Webサーバの仕組み
Webサーバの仕組を理解する上で、出てくる登場人物は以下の2つです。
[jin_icon_check color="#e9546b" size="18px"]Webサーバ…Webサイトを公開させる役割
[jin_icon_check color="#e9546b" size="18px"]Webクライアント…Webサイトを閲覧する役割
気づいたと思いますが、このソフトウェアは皆さんが良く使っているWebブラウザです。
- Internet Explore
- Chrome
- Firefox
- Safari
それぞれの役割とし仕組みについてみていきましょう。
- ブラウザ(Webクライアント)からWebサイトにアクセスする
- ブラウザ(Webクライアント)からの要求(リクエスト)をWebサーバが受け取る
- Webサーバは、要求(リクエスト)に応じたコンテンツ(HTMLファイルや画像)のデータを探す
- Webサーバは、ブラウザ(Webクライアント)にデータを渡す(レスポンス)
Webサーバの種類
Webサーバにも様々な種類がありますが、まずは以下の代表的は2つを覚えておけばOKです。
[jin_icon_check color="#e9546b" size="18px"]Apache(アパッチ)
[jin_icon_check color="#e9546b" size="18px"]Nginx(エンジンエックス)
構築するシステムによってどちらを使うかは変わってきますが、仕組みは同じです。
ApacheとNginxの違いについて知りたい方はこちらの記事か参考になります。
[blogcard url="https://qiita.com/kamihork/items/49e2a363da7d840a4149"]
Webサーバの構築環境
先ほど紹介したApacheやNginxはOSSというもので、無料で使用することができます。
勉強用にWebサーバを構築しようとしている方は、Linuxで環境を構築することをおおすすめします。
[chat face="business_woman3_1_question.png" name="Aさん" align="left" border="red" bg="red" style=""]WindowsやMacじゃだめなの?[/chat]
WindowsやMacでも構築できますが、基本的にWebサーバはLinuxで構築することが多いので、より実践的な知識を身につけたければLinuxで構築するのが良いでしょう。
VirtualBoxというツールを使えば、Linux環境でWebサーバを簡単に作ることができます。
VirtualBoxでLinux環境を構築する方法はこちら。
ApacheでWebサーバを構築する手順はこちら。
[box06 title="あわせて読みたい"]
【簡単です】Linux環境を構築する方法【Virtual Box,teraterm】
【Apacheで簡単】Linux上にWebサーバを構築してみた
[/box06]
Webサーバとは:まとめ
[box03 title="Webサーバまとめ"]
- Webサーバとは、Webクライアントからの要求(リクエスト)を受けって、その結果を返すサーバのことである
- 日常的に使用しているブラウザは、Webクライアントである
- Webサーバの種類は、とりあえずApacheとNginxを覚えておけばOK
- WebサーバはLinuxで構築する方が実用的である
いかかでしたでしょうか。
ここまで読めば、Webサーバについて理解できたのではないかと思います。
基本的な部分は知ることができたので、細かい部分は実際に使いながら調べていくのがいいでしょう。
最後まで読んでいただきありがとうございました。
Posted from my blog with SteemPress : https://komodblog.com/web-server/
Hi! I am a robot. I just upvoted you! I found similar content that readers might be interested in:
https://komodblog.com/web-server/