【リニューアル記念】未経験からブロガーへのSTEPを続々更新!

Webサーバとは?仕組みや種類を初心者にもわかりやすく解説!

Webサーバとは

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

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

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

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

Webサーバとは

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

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

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

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、IPアドレス、ポート、全部まとめて解説」をどうぞ。

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

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

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

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

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

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

静的コンテンツ(HTMLや画像)だけなら、Webサーバさえあれば簡単に公開できるからです。

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

APサーバについては「APサーバの役割とは?Webサーバとの違いをしっかり理解しよう!」に詳しくまとめています。

キツネ

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

Webサーバの種類

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

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

この2つは、Webエンジニアになるうえで必ず使うことになるくらい有名なWebサーバです。

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

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

キツネ

PHPとApacheは相性がいいからセットになりやすいよ!

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

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

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

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

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

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

まとめ

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

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

あとは、実際に使ったときに調べながら覚えていきましょう!

次は「APサーバの役割とは?Webサーバとの違いをしっかり理解しよう!」を読んで、APサーバについてもう少し詳しく見ていこう!

テキストのコピーはできません。