1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

Webサーバーの仕組み【実際にどうなってるの?】初学者用

Posted at

Webサーバーの仕組み、知りたいですよね。とりわけ、PHPやRubyなどを使う人にとって必須のことなので学んでおきましょう。私自身、勉強してまとめてみました!

Webサーバーの仕組み.jpg

http通信の仕組み

まずは通信について、つまりhttpの流れについて復習してみましょう。下記のことが行われています。

  • パソコンのブラウザからURLをクリックもしくはタイピング(リクエスト)
  • URLに対応したものをWebサーバーはパソコンに返す(レスポンス)

サービスを受けたい客(クライアント)からのお願いを、サービスを提供するもの(サーバー)が応えるという形でhttp通信は行われています。

少し難しい言葉で説明すると...

HTTP(決まりごと)を処理できるプログラムがWebサーバーというわけです。アプリケーションを作ってもサーバーがなければ公開ができないので、絶対に必要なことですね。

Webサーバー(常駐プログラム)の中で何が起きているか

サーバーをPC内に準備したことを考えてみましょう。

サーバー用のPCに「Webサーバー・ミドルウェア」を用意します。Webサーバーとして__Apache(アパッチ)__もしく__はNginx(エンジンエックス)__を使います。

MAMPというサービスには、Apacheが入っています。PHPをローカル開発するには必須ですね。簡単にインストールして使えるのでおすすめ。

Apacheとは

  • オープンソースなもの
  • 利用の際の制限がほぼなし
  • PHPはApacheと相性がいい

Nginxとは

  • 発音を間違えそう...
  • 最近人気が出ている
  • 並行処理性能が高い
  • メモリ消費が少ない。

PHPで主に使うApacheについて知ろう!

Apacheは、リクエストされたURLに対応したものをレスポンスとして返すのが仕事です。

例えば__http://ドメイン/index.php__というリクエストが来たら、Apacheはindex.phpを探して、レスポンスとして返してくれます。

もし存在しないものを要求されたら、__404 Not Foundエラー__を返してくれます。要求に応えてくれる賢いロボットのよう!

Apacheの設定ファイルについて

https.confがApacheの設定ファイルです。

vi /etc/httpd/conf/httpd.conf

この中の__DocumentRoot__にあります。DocumentRootの下にあるものをレスポンスとして返してくれます。

リダイレクトの設定やphpの設定を変更したい場合は、以下の二つのうち一つを使います。

  • httpd.conf
  • .htaccess

リダイレクト(転送処理)について

Apacheは、サーバー内にあるものを返すだけでなく、他のサーバーにリダイレクトすることもできます。古いサーバーから新しいサーバーにサービスが移ったという時に働いてくれるので、助かりますね。

Apacheの設定ファイル
	リダイレクトの設定やphpの設定を変更したい場合...

	1)httpd.conf
	2).htaccess

まとめ

「Webサーバーは毎日生活する際に、大変お世話になっているものだ」ということがわかりましたね。Webエンジニアを目指す人は必ず知っておくべきことなので覚えておきましょう!

私はまだまだ知らないことだらけなので、間違っていたら教えてくださいませ。(コメントを送ってくださる方、いつもありがとうございます!)

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?