2分SHAREツイートシェアはてブLINEPocketWebエンジニアになるとプログラミングだけでなく、「Webサーバ(ウェブサーバ)」を触る機会も多くなります。いうか、メチャクチャ触ります。それなのに「Webサーバって何?」だと、このさきちょっと不安ですよね。そんなに難しいものではないので、サクッとWebサーバの仕組みを理解しちゃいましょう。これを読めば、Webサーバは完璧だよ!もくじWebサーバとは何か?Webサーバの仕組みWebサーバとAPサーバの違いWebサーバの種類Webサーバの環境構築はWindowsで作らないまとめWebサーバとは何か?Webサーバとは、静的コンテンツ(HTMLファイルや画像など)や、動的コンテンツ(アプリケーション)を提供するサーバ(常駐プログラム)のことです。Webサイトを公開するために必要なソフトウェア(ミドルウェア)が、「Webサーバ」なんです。どんなに頑張ってアプリケーションを作ったって、このWebサーバがなければシステムを公開することは絶対にできません。Webサイトに「Webサーバ」は必要不可欠なんだね!Webシステムとは?ITインフラやミドルウェア、ソフトウェアの違いをわかりやすく紹介Webサーバの仕組みWebサーバの仕組みを理解するには、以下をしっかり覚えておく必要があります。「Webクライアント」が出てきましたが、これはWebサーバにアクセスするために必要なソフトウェアのことです。実はこのWebクライアント、みなさん毎日のように使っています。「ブラウザ」のことです。IEEdgeChromeFirefoxSafariこれらすべて「Webクライアント」なんです。ブラウザとは、Webサーバにアクセスするために作られたソフトウェアだったんですね。この「Webクライアント」と「Webサーバ」の仕組み、流れを確認してみましょう。Webクライアント(ブラウザ)を使ってWebサイトにアクセスするWebクライアント(ブラウザ)からの要求(リクエスト)をWebサーバが受け取るWebサーバは、要求に対応した「HTML」や「画像」などのデータを探す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サーバの役割とは?Webサーバとの違いをしっかり理解しよう!Webサーバだけじゃ、アプリケーションを実行できないってこと!Webサーバの種類Webサーバにも色々と種類がありますが、とりあえず代表的な2つを覚えておけば問題ありません。Apache(アパッチ)Nginx(エンジンエックス)この2つは、Webエンジニアなら必ず使うことであろう有名なWebサーバです。どちらを使うかは案件によっても違いますが、仕組みはどちらも同じ。僕の感覚としては、PHPならApache、RubyならNginxが多いですね。PHPとApacheは相性がいいから、セットになりやすいんだ!Nginxとは?インストールや設定ファイルの仕組みを解説【CentOS】Webサーバの環境構築はWindowsで作らないさきほど紹介した「Apache」や「Nginx」などのWebサーバは、無料で使うことができます。勉強用にWebサーバを構築しようと考えているのであれば、必ずLinuxで環境構築するようにしてください。いうのも、Web業界では主にLinuxを使っていて、WindowsなどのほかのOSでの環境構築はあまり一般的ではないからです。「Linuxなんて持ってないよ!」という方も安心してください。「Vagrant(VirtualBox)」というツールを使えば、WindowsのなかにLinux環境を簡単に構築することができます。Webサーバは「Linux」で使うのが基本なんだね!【Linux環境構築】VagrantとVirtualBoxとは?使い方を初心者向けに解説!まとめWebサーバとは、Webクライアントからのリクエストを受け取り、結果を返すサーバブラウザは「Webクライアント」であるWebサーバとAPサーバはまったく違うWebサーバの種類は、ApacheとNginxを覚えておけば安心Webサーバの環境構築は、Linuxで作ったほうが実用的Webサーバについては、このくらい理解できていれば大丈夫。あとは実際に使ったときに、調べながら覚えていけばいいと思います。:Web未経験からWebエンジニアへ!僕は高卒でアラサー、転職回数も多く、まったくの未経験でWebエンジニアになりました。勉強はしましたし、かんたんな道のりではなかったかもしれません。プログラミングは確実に自分が望む未来へと近づけてくれました。「学歴がない」「転職回数が多い」「アラサー」「未経験」...どれもエンジニアを目指すうえでは、まったく関係ありません。エンジニアになるために必要なものは「やる気」だからです。あなたも人生を大きく変えるつもりで本気でチャレンジしてみてください。プログラミングは、あなたが望む未来へ近づくための武器になるでしょう。高卒エンジニアの年収を大公開!副業で始めたブログの収入は?こんな記事も読まれてます関連する記事はこちら【Web入門】システム開発における基本的なIT知識を勉強しよう!DBサーバとは?役割やデータベースの種類を初心者にもわかりやすく解説!APサーバの役割とは?Webサーバとの違いをしっかり理解しよう!「クライアントサーバシステム」と「Web三層構造」の仕組みとはWebシステムとは?ITインフラやミドルウェア、ソフトウェアの違いをわかりやすく紹介HTTP(HTTPS)通信の仕組みとは?IPアドレスやポートも初心者向けに解説!この記事を書いた人キツネフリーランスエンジニア/ブロガー/ミニマリスト。プログラミング経験なし、学歴なしでエンジニアへ転職し、現在は田舎でフリーランス。なりたい自分を叶えるための本メディアを運営(月間10万PV突破)。詳しいプロフィールはこちら。Feedly前の記事Webシステムとは?ITインフラやミドルウェア、ソフトウェアの...次の記事APサーバの役割とは?Webサーバとの違いをしっかり理解しよう...あなたが「なりたい自分」はどれ?エンジニアプログラミングブロガーフリーランスカテゴリーWebエンジニアDockerGitLinuxMySQLNginxRubyWebエンジニアの仕事道具・ツールエンジニアの働き方・将来性エンジニアの転職・就職プログラミングのスキルアッププログラミングの基本フリーランスブロガーアフィリエイトブログのアクセスアップアフィリエイトブログの始め方アフィリエイトブログの書き方アフィリエイトブログの稼ぎ方キツネエンジニア/ブロガー/ミニマリスト。プログラミング経験なし、学歴なしでエンジニアへ転職し、現在は田舎でフリーランス。なりたい自分を叶えるための本メディアを運営(月間10万PV突破)。reserved.テキストのコピーはできません。