こもだ avatar

【サーバの基本】Webサーバとは?分かりやすく解説します!

kmdryo

Published: 05 Jul 2020 › Updated: 05 Jul 2020【サーバの基本】Webサーバとは?分かりやすく解説します!

【サーバの基本】Webサーバとは?分かりやすく解説します!


システム開発をする上で、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やオブジェクト(画像など)の表示を提供するサービスプログラム及び、そのサービスが動作するサーバコンピュータを指す

引用元:Wikipedia

つまり、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クライアントとは、Webサーバにアクセスするためのソフトウェアです。

気づいたと思いますが、このソフトウェアは皆さんが良く使っているWebブラウザです。

  • Internet Explore
  • Chrome
  • Firefox
  • Safari
などはWebクライアント(Webサイトを閲覧する役割)に当たります。

それぞれの役割とし仕組みについてみていきましょう。alt

  1. ブラウザ(Webクライアント)からWebサイトにアクセスする
  2. ブラウザ(Webクライアント)からの要求(リクエスト)をWebサーバが受け取る
  3. Webサーバは、要求(リクエスト)に応じたコンテンツ(HTMLファイルや画像)のデータを探す
  4. Webサーバは、ブラウザ(Webクライアント)にデータを渡す(レスポンス)
要は、ブラウザからの要求をWebサーバが返すというだけです。

 

Webサーバの種類


alt

Webサーバにも様々な種類がありますが、まずは以下の代表的は2つを覚えておけばOKです。

[jin_icon_check color="#e9546b" size="18px"]Apache(アパッチ)

[jin_icon_check color="#e9546b" size="18px"]Nginx(エンジンエックス)

この2つはWebサーバを構築する上で、必ずと言っていいほど名前が上がるミドルウェアです。

構築するシステムによってどちらを使うかは変わってきますが、仕組みは同じです。

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で構築する方が実用的である
[/box03]

いかかでしたでしょうか。

ここまで読めば、Webサーバについて理解できたのではないかと思います。

基本的な部分は知ることができたので、細かい部分は実際に使いながら調べていくのがいいでしょう。

最後まで読んでいただきありがとうございました。


Posted from my blog with SteemPress : https://komodblog.com/web-server/

Leave 【サーバの基本】Webサーバとは?分かりやすく解説します! to:

Written by

Hello, I live in Tokyo.I will post in various ways from now on.

Read more #apache posts


Best Posts From こもだ

We have not curated any of kmdryo's posts yet. But you can encourage our curation team to review posts by visiting them regularly and by referring other readers. Because we give priority to frequently read content.

More Posts From こもだ