【月間10万PV達成】ブログの作り方を無料公開中!

Webサーバとは何か?仕組みやソフトウェアの種類をわかりやすく解説!

Webサーバとは

Webエンジニアになるとプログラミングだけでなく、「Webサーバ(ウェブサーバ)」を触る機会も多くなります。

というか、メチャクチャ触ります。

それなのに「Webサーバって何?」だと、このさきちょっと不安ですよね。

そんなに難しいものではないので、サクッとWebサーバの仕組みを理解しちゃいましょう。

これを読めば、Webサーバは完璧だよ!

Webサーバとは何か?

Webサーバとは、静的コンテンツ(HTMLファイルや画像など)や、動的コンテンツ(アプリケーション)を提供するサーバ(常駐プログラム)のことです。

そう、Webサイトを公開するために必要なソフトウェア(ミドルウェア)が、「Webサーバ」なんです。

どんなに頑張ってアプリケーションを作ったって、このWebサーバがなければシステムを公開することは絶対にできません。

Webサイトに「Webサーバ」は必要不可欠なんだね!
webシステムやインフラとはWebシステムとは?ITインフラやミドルウェア、ソフトウェアの違いをわかりやすく紹介

Webサーバの仕組み

Webサーバの仕組みを理解するには、以下をしっかり覚えておく必要があります。

  • サイトを公開するために「Webサーバ」が必要
  • サイトを閲覧するために「Webクライアント」が必要

「Webクライアント」が出てきましたが、これはWebサーバにアクセスするために必要なソフトウェアのことです。

実はこのWebクライアント、みなさん毎日のように使っています。

そう、「ブラウザ」のことです。

  • IE
  • Edge
  • Chrome
  • Firefox
  • Safari

これらすべて「Webクライアント」なんです。

ブラウザとは、Webサーバにアクセスするために作られたソフトウェアだったんですね。

では、この「Webクライアント」と「Webサーバ」の仕組み、流れを確認してみましょう。

Webサーバの仕組み

  1. Webクライアント(ブラウザ)を使ってWebサイトにアクセスする
  2. Webクライアント(ブラウザ)からの要求(リクエスト)をWebサーバが受け取る
  3. Webサーバは、要求に対応した「HTML」や「画像」などのデータを探す
  4. Webサーバは、データをWebクライアント(ブラウザ)に渡す(レスポンス)

簡単にいうと、「ブラウザ」と「Webサーバ」間で、データのやりとりをしているだけです。

Web通信の仕組みをもっと詳しく知りたい方は、こちらの記事をどうぞ。

Web通信の仕組みHTTP(HTTPS)通信の仕組みとは?IPアドレスやポートも初心者向けに解説!

僕らは普段から「Webクライアント」を使ってたんだね!

WebサーバとAPサーバの違い

Webサーバのほかに、「APサーバ(アプリケーションサーバ)」というものがあります。

これら2つのサーバは少し役割が似ているので、違いがわからないという方も多いと思います。

WebサーバとAPサーバの違いを簡単にまとめると

  • 「Webサーバ」…「ブラウザ」からの要求に対して、「ブラウザ」にコンテンツを返す
  • 「APサーバ」…「Webサーバ」からの要求に対して、「Webサーバ」にアプリケーションの実行結果を返す

サイトを公開する際に、必ずしもAPサーバが必要というわけではありません。

静的コンテンツ(HTMLや画像)なら、Webサーバだけでも公開できるからです。

ですが、アプリケーション(動的コンテンツ)を公開したい場合は、APサーバと連携しなくてはいけません。

APサーバについては、こちらの記事に詳しくまとめています。

APサーバとはAPサーバの役割とは?Webサーバとの違いをしっかり理解しよう!

Webサーバだけじゃ、アプリケーションを実行できないってこと!

Webサーバの種類

Webサーバにも色々と種類がありますが、とりあえず代表的な2つを覚えておけば問題ありません。

  • Apache(アパッチ)
  • Nginx(エンジンエックス)

この2つは、Webエンジニアなら必ず使うことであろう有名なWebサーバです。

どちらを使うかは案件によっても違いますが、仕組みはどちらも同じ。

僕の感覚としては、PHPならApache、RubyならNginxが多いですね。

PHPとApacheは相性がいいから、セットになりやすいんだ!
NginxのインストールNginxとは?インストールや設定ファイルの仕組みを解説【CentOS】

Webサーバの環境構築はWindowsで作らない

さきほど紹介した「Apache」や「Nginx」などのWebサーバは、無料で使うことができます。

もし、勉強用にWebサーバを構築しようと考えているのであれば、必ずLinuxで環境構築するようにしてください。

というのも、Web業界では主にLinuxを使っていて、WindowsなどのほかのOSでの環境構築はあまり一般的ではないからです。

「Linuxなんて持ってないよ!」という方も安心してください。

「Vagrant(VirtualBox)」というツールを使えば、WindowsのなかにLinux環境を簡単に構築することができます。

Webサーバは「Linux」で使うのが基本なんだね!
Linux環境構築【Linux環境構築】VagrantとVirtualBoxとは?使い方を初心者向けに解説!

まとめ

  • Webサーバとは、Webクライアントからのリクエストを受け取り、結果を返すサーバ
  • ブラウザは「Webクライアント」である
  • WebサーバとAPサーバはまったく違う
  • Webサーバの種類は、ApacheとNginxを覚えておけば安心
  • Webサーバの環境構築は、Linuxで作ったほうが実用的

Webサーバについては、このくらい理解できていれば大丈夫。

あとは実際に使ったときに、調べながら覚えていけばいいと思います。

次は「APサーバの役割」ついて、もう少し詳しく見ていきましょう!

またね、キツネ(@kitaaaa_kitsune)でした!

【Web入門】システム開発の基本知識を勉強しよう!【初心者】【Web入門】システム開発における基本的なIT知識を勉強しよう!
テキストのコピーはできません。