2022.09.14WEBサーバとは?SHARESHARECONTENTこんにちわ、こんばんわ。8月も終わりすっかり涼しくなってきましたね。今回はWEBサーバについてのお話になります。コーディングメインでアプリケーションを開発していると、意外とブラックボックスになっていて何をやっているの?という事もあるかと思います。ページ上部に掲載している図が一般的な構成図になります。図の通り、WebアプリケーションはWebサーバとデータベースサーバとアプリケーションサーバの三層構成となります。◎WEBサーバの役割とは?Webサーバーとは、Webページを表示させるために必要な様々なファイルを保管、提供するサーバーとなります。PC、タブレットなどのクライアントからの要求に従いHTMLや画像の抽出・提供を行います。APサーバ(アプリケーションサーバ)と混同しがちですが、APサーバはアプリケーションを実行する為のサーバになるので基本的にWEBサーバと必ずセットで利用されます。静的コンテンツだけのサイトを公開するのみならWEBサーバ単体で実現も可能です。ブラウザからのリクエストを受け付ける窓口というイメージです。アクセスログから不正アクセスの検知も可能ですし、大量リクエストを受信した際には流量制限をかけて負荷を権限する、といった設定も可能です。◎WEBサーバの種類メジャーどころとしては以下が有名です。Serverシリーズに同梱されているWebサーバソフトウェア。世界的に広く普及しているWebサーバの一つ。Windowsで運用するアプリケーションの場合、基本的にIISを採用しているのではないでしょうか。・Apache世界的に最も普及しているWebサーバ(HTTPサーバ)ソフトウェアの一つ。Foundation(Apacheソフトウェア財団)が開発しており、オープンソースソフトウェアとして公開している。WebServerSurveyの直近の発表によるとシェア率は全盛期に比べて落ち込んでいるようですが、PHPでWEBアプリを作成する際には親和性が高い事から採用されているイメージです。・Nginx読み方はエンジンエックスです。(初見殺し)Apacheと並ぶ人気Webサーバーソフトウェアの一つで、処理速度や機能面で優位性があり、シェア率もリニアに伸びてきており2022年8月時点でApacheを抜いてシェア第一位となるまで普及しています。Apacheと比較して大量処理が得意且つ、高速という利点が昨今の情報量過多な情報を処理するという要件にマッチしていると思われます。今回は簡単に、役割とどんなミドルウェアがあるかのご紹介でしたが、システム開発ではお客様の要件によってコストやどの程度のパフォーマンス要件を満たす必要があるか?を考慮しつつ、何を採用してどういうアーキテクチャにしていくか検討する必要があります。