- ベストアンサー
webサーバー
PHPを始めたいのですが PHPを始めるにはアパッチなどのwebサーバーが必要と知ったのですが なぜPHPを使わずに HTMLの中にJavaScriptやcssを書いた場合は動くのでしょうか? webサーバーの役割がよくわかりません。
- みんなの回答 (5)
- 専門家の回答
質問者が選んだベストアンサー
実際にやるとなると本を一冊買ってきた方が早いでしょうが、質問された項目のみ回答させてていただきます。 Webアプリケーションは、通常、データベースにデータを残してあります。 データベースには、自分のデータ以外にも友達など第3者のデータを残してありますので 他人のデータにアクセスできないように管理が必要です。 ですのでWebサーバー側でもプログラムの実行環境を入れておいて ブラウザの方から送られてきた命令を解釈して、ユーザー認証をして、そのユーザーの取り出していい範囲のデータを取り出す様な、アクセス管理の仕組みが必要になるんですね。 Webサーバーはデータベースからデータを取ってきて、ブラウザに送るまでの処理 JavaScriptはサーバーから大丈夫なデータを受け取った後の処理。 という風に住み分けがあります(もちろん他にも色々やっていますけどね)
その他の回答 (4)
- amanojaku1
- ベストアンサー率54% (265/488)
> PHPを始めるにはアパッチなどのwebサーバーが必要と知ったのですが > なぜPHPを使わずに > HTMLの中にJavaScriptやcssを書いた場合は動くのでしょうか? 「Perl、Python、PHP、Ruby」などはサーバー側で実行され、「Perl、Python、PHP、Ruby」などで生成された「HTML(css、JavaScript なども含む)」データが自分 PC に受信され、(自分 PC の)ブラウザで『「HTML、CSS」が表示されたり、「JavaScript」が実行されたり』します(ちなみに PHP はセキュリティが弱いとか言われてるようです)。 一番 単純な例としてアクセス・カウンターを考えてみて下さい。 アクセスがあったらサーバー側のカウンター用ファイルからカウンター用データを読む。 そのカウンター用データに1を加算し、そのデータをサーバー側のカウンター用ファイル保存。 そのカウンター用データを「HTML(CSS、JavaScriptなども含む)」に加工して個人の PC に送る。 その応用として掲示板などを考えてみると分かりやすいかもしれません。
お礼
どうもありがとうございました。
- t_ohta
- ベストアンサー率38% (5238/13705)
HTMLの中にJavaScriptやcssを書いた場合、それらを解釈して実行するのはブラウザの役割なのでサーバは関係なくブラウザがあれば事足ります。 (JavaScriptの一部機能はサーバが無いと実行できませんが) PHPはサーバ内で処理を実行しHTMLを生成するのが役割です。 ブラウザにはPHPのプログラムを実行する機能がありません。 そして、その生成されたHTMLをブラウザに受け渡す機能はWebサーバ(httpd)の役割で、PHP自体にはブラウザへHTMLを受け渡す機能がありません。 (PHPでWebサーバの代わりとなるプログラムを書けばWebサーバは要らないけど、そんな効率の悪いことを普通はしない) そのためPHPを使う場合はWebサーバが必要なのです。
お礼
どうもありがとうございました。
- webuser
- ベストアンサー率33% (372/1120)
>webサーバーの役割がよくわかりません。 webサーバーの役割はhtmlを公開する事です。 >なぜPHPを使わずにHTMLの中にJavaScriptやcssを書いた場合は動くのでしょうか? どこにも公開していないでしょ。 自分のPCの中のを自分で見ているだけでしょ? あるいはファイルサーバー上のファイルを見ているだけでしょ? HTMLはハイパーテキストの名の通り、テキストなので見る事はできます。 見るだけならブラウザがあれば見れます。 PHPにしてもjavaにしてもテキストではなくアプリなので、アプリを動かさないとテキストが生成されないから見れないんです。 アプリを動かすのはアプリケーションサーバーなんですけど、PHPの場合webサーバー側にモジュールとして組み込んじゃってるからwebサーバーがないとどうにもならないです。 ちなみにデータを外だしするならデータベースサーバーも必要だったりします。 これも、WEBサーバーと同じ筐体に入れてしまって、WEBサーバーの一部のように混同してしまう事がありますが。
お礼
どうもありがとうございました。
- catpow
- ベストアンサー率24% (620/2527)
>>webサーバーの役割がよくわかりません。 Webサーバについて書かれた書籍を購入して勉強しましょう!
お礼
どうもありがとうございました。
お礼
どうもありがとうございました。