質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Webサーバー

Webサーバーとは、HTTPリクエストに応じて、クライアントに情報を提供するシステムです。

サーバ

サーバは、 クライアントサーバモデルにおいてクライアントからの要求に対し 何らかのサービスを提供するプログラムを指す言葉です。 また、サーバーソフトウェアを稼動させているコンピュータ機器そのもののことも、 サーバーと呼ぶ場合もあります。

Q&A

解決済

2回答

251閲覧

Webサーバーとアプリケーションサーバーについて

programan

総合スコア25

Webサーバー

Webサーバーとは、HTTPリクエストに応じて、クライアントに情報を提供するシステムです。

サーバ

サーバは、 クライアントサーバモデルにおいてクライアントからの要求に対し 何らかのサービスを提供するプログラムを指す言葉です。 また、サーバーソフトウェアを稼動させているコンピュータ機器そのもののことも、 サーバーと呼ぶ場合もあります。

0グッド

0クリップ

投稿2018/11/25 16:30

webサーバーとアプリケーションサーバーについて
理解が曖昧だったので、自分なり調べていて一つ疑問が解決できない点が
ありましたので質問です。

Webサーバーは、静的なコンテンツをユーザーに返し
アプリケーションサーバーは、動的なコンテンツをユーザーに返します。
そして、アプリケーションサーバーには作成したアプリケーションが
配置されます。

そこで、Webサーバーにはアプリケーションは配置されておらず
アプリケーションにあるhtml/css, jsなどの
静的なコンテンツがないのにどのように返すのだろうと思いました。

調べてみましたが、見つけることができずご教授お願いしたいです。
静的なコンテンツのリクエストがあった場合でもアプリケーションサーバーとは
通信をしているのでしょうか?

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

wwbQzhMkhhgEmhU

2018/11/25 19:25

一例で良ければ…Webサーバーは全リクエストを処理し、静的コンテンツなら自分で返し、動的コンテンツならアプリケーションサーバーに投げた結果を返すような感じ?
programan

2018/11/29 04:34

回答ありがとうございます。僕の質問の仕方が悪かったです。それはわかってて、いろいろなサイトを見るとアプリケーションサーバーに、自分で作成したアプリケーションを設置しているようなのですが、それが設置されていないWebサーバーでコンテンツが返せるのかなと思いまして。。。
guest

回答2

0

ベストアンサー

そこで、Webサーバーにはアプリケーションは配置されておらず

アプリケーションにあるhtml/css, jsなどの
静的なコンテンツがないのにどのように返すのだろうと思いました。

状況により千差万別です。

  • PHPアプリケーションの場合、アプリケーションとアセットをまとめてサーバに配置してしまう例も多いです。
  • アセット配信の高速化のために、別にアセット専用のサーバを用意して、静的コンテンツはそっちからの配信に任せてしまう、という方法もあります。

投稿2018/11/25 22:20

maisumakun

総合スコア145183

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

programan

2018/11/29 04:38

回答ありがとうございます。 なるほどですね しっくりきました! 様々な方法がありそうなので、もっと調べてみようと思います。
guest

0

質問に対する解答になるのか分かりませんが
リクエストに対するレスポンスの流れが把握できてない気がします。たぶん...

http://example.com/index.htmlをリクエストした例に説明すると。
index.htmlの内容が下記だとします。

html

1<html> 2<head> 3 <title>タイトル</title> 4 <link rel="stylesheet" href="css/style.css"> 5</head> 6<body> 7 <p>内容</p> 8 <img src="hogehoge.png"> 9</body> 10</html>

この場合のクライアント(ブラウザ)とサーバーの通信は簡単に示すと下記の通りになります。

イメージ説明

リクエスト物はindex.htmlですが、内部に他のファイルがある場合は別途リクエストを送ります。それが同一サーバーか、その他のサーバーでも同じです。この場合は3リクエストを行います。

正確にはブラウザのデバックコンソール(ChromeだとDevToolsのNetworkタブ)でリクエストの回数や処理時間などを見ることができます。

動的サイトの場合はクライアントにわたすHTMLを動的に作成しているだけです。

投稿2018/11/26 01:24

mosapride

総合スコア1480

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

programan

2018/11/29 04:36

回答ありがとうございます。 参考になりました。 まだ、自分の理解が足りてないのと思うので勉強します。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問