【サーバの基本】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
もっと言うと、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/
Leave 【サーバの基本】Webサーバとは?分かりやすく解説します! to:
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 こもだ
- 【セキュリティ編】AWS初心者が覚えておきたい4つのサービス
- 【マネジメント編】AWS初心者が覚えておきたい5つのサービス
- 【サーバの基本】Webサーバとは?分かりやすく解説します!
- 【Webシステムの基本】クライアントサーバシステム&Web3構造の仕組みとは
- 【2020年版】Apache学習におすすめの入門書3選
- あなたが分からないのは“ググり力”が低いから?【プログラミングスキルよりも大事です】
- 【フリーランス必見】スパ・イアスに行ってみた【コワーキングスペースあり】
- 【分かりやすく解説】infrastructure as code(IaC)を実現するツール
- 【今さら聞けない】Infrastructure as codeとは?【分かりやすく解説】
- 【プログラミングに必須】Visual Stadio Code(VSCode)とは?
- 【保存版】Udemyで英語字幕をリアルタイムに日本語字幕に翻訳して勉強する方法【簡単にできます】
- Udemy(ユーデミー)の口コミ・評判は?【利用する際のポイントも解説】
- 【初心者向け】Javaを学べるおすすめのプログラミングスクール3選
- 【初心者必見】Java学習におすすめのプログラミング入門サイト5選
- 【初心者向け】JavaでWebアプリケーションを開発するまでの学習手順
- 【プログラミング初心者必見】Webの仕組みを理解するための入門書4選
- 【初心者向け】オブジェクト指向とはどのようなものなのか【分かりやすく解説します】
- 【保存版】初心者が覚えておくべきLinuxコマンド一覧
- 【Linux入門】viコマンドの基本的な使い方【viエディタとあわせて解説します】
- 【初心者向け】Linuxとは?【特徴やできることを分かりやすく解説】