ホームページ >バックエンド開発 >PHPチュートリアル >Webプログラムの仕組みを詳しく解説、Webの仕組みを詳しく解説_PHPチュートリアル
1. Web プログラムの仕組み
(1)Webという言葉の意味
ネットワーク: [コンピュータ] コンピュータネットワーク、ネットワーク
ウェブ: [コンピューター] World Wide Web、インターネット
Web プログラムは、名前が示すように、Web 上で動作するプログラムです。
(2) スタンドアロンプログラムの動作原理
スタンドアロン コンピューター、つまり、他のコンピューターに接続されておらず、ネットワークにも属していないコンピューター。例: 2 つの単一マシン A と B があります。A にはプログラム X のみがインストールされています。B での X の実行結果を取得したい場合は、B に X をインストールして実行する必要があります。クラス B に多数のコンピューターがある場合は、それらを 1 台ずつインストールして実行する必要があります。相互に直接通信したり共同作業したりすることはできません。図 1 に示すように。
(3) クライアント/サーバープログラムの動作原理
A と B をネットワークに接続するなど、スタンドアロン コンピューターをネットワークに接続して、A が B にサービスを提供するなど、それらの間でサービスを提供できるようにします。一般的なサービスは、ファイル共有、FTP ファイルのダウンロードなどです。サービスを提供する (応答する) コンピューターをサーバー (サーバー) と呼び、サービスを受け入れる (要求する) コンピューターをクライアント (クライアント) と呼び、ワークステーション (ワークステーション) とも呼ばれます。クライアント/サーバー プログラムの動作原理を図 2 に示します。
サーバーとクライアントの役割を切り替えることができます。現時点では、コンピューターはサーバーとしてもクライアントとしてもサービスを提供できます。たとえば、コンピュータ A が独自のフォルダ a を共有し、ネットワーク上で A を見つけた場合、a をダウンロードできます。これは、コンピュータ A が自分自身にサービスを提供し、サービスを要求して応答したことを意味します。
このコンピュータ間のクライアント/サーバー連携方式は、C/S方式またはC/Sアーキテクチャと呼ばれます。
C/Sプログラムはサーバ側とクライアント側の2つに分かれており、それぞれサーバサイドプログラム(またはサービスプログラム)、クライアントプログラム(またはクライアントプログラム)と呼ばれます。クライアントプログラムの場合も、単体プログラムの配布と同様にクライアントごとにインストールする必要があり、非常に面倒です。ただし、クライアント プログラムをインストールすると、通信回線を介してサーバーと通信したり、サーバーを介して他のクライアントと通信したりすることができます。典型的な例は、図 3 に示すように、よく使用されるチャット プログラム QQ です。
(4) ブラウザ/サーバープログラムの仕組み
クライアントのブラウザを介してサーバーにリクエストを送信し、その応答結果を受け取る場合、このときのこの連携方法を B/S 方式、または B/S アーキテクチャと呼びます。その動作原理は次のとおりです。図4:
現時点では、クライアントプログラムはブラウザであり、ブラウザのインストールはオペレーティングシステムのインストールとともに完了し、ユーザーによる追加のインストールは必要ありません。彼らにとって、B/S プログラム (オンラインでニュースを読む、電子メールの送受信など) を使用する場合、特別なクライアント プログラムをインストールする必要はなく、ブラウザーで直接操作できます。これにより、クライアント プログラムのことを気にする必要がなく、サーバー プログラムのメンテナンスだけで済むため、B/S プログラムのメンテナンスが非常に便利になります。
(5)C/SサーバーとB/Sサーバーの構成
サーバーはサービスタスクを担当するマシンです。これらのサービス タスクは通常、専用のソフトウェアによって実行されます。一般に、特定のサービス機能を備えたサーバー ソフトウェアとそれが配置されているマシンを総称して XX サーバーと呼びます (XX は特定のサービスを表します)。これらのソフトウェアは 1 つのマシンに集中することができ (図 5)、このようなマシンは集中サーバーと呼ばれることもあり、また、これらのソフトウェアは特定のマシンに単独で存在することもでき (図 6)、そのようなマシンはスタンドアロン サーバーと呼ばれることもあります。スタンドアロン サーバーは、サーバー ファームまたはマトリックスを形成できます。
サービスタスクに応じて、いくつかの一般的なサーバーソフトウェアを表1に示します。
サーバーサイドスクリプト:サーバーサイドプログラミング言語で書かれたプログラム。
サーバーサイドプログラミング言語: PHP言語など、サーバーサイドでのみ実行され、サーバーによって解釈および実行されるプログラミング言語。
(6)B/Sプログラム作業の具体的なプロセス(図7)
(7) PHPプログラムの具体的な動作の流れ
具体的なプロセスは、Apache、PHP、ブラウザ間のコラボレーションプロセスです:
ユーザーは、ブラウザーを通じてサーバーに PHP ファイルをリクエストします (たとえば、アドレス バーに http://localhost/index.php と入力します)。Apache は、ブラウザーによってリクエストされた PHP ファイルをユーザー ドキュメント リリース ディレクトリで検索します。サーバー上でファイルが見つからない場合は、エラー メッセージがブラウザに返され、そうでない場合は、PHP ファイルの解釈と実行のために PHP インタープリタが構文解析を実行します。見つかった場合は、エラー メッセージ (ブラウザが認識できる形式) が Apache コード表現を介してブラウザに返されます。そうでない場合は、PHP プログラム (MySQL データベースに対する操作が含まれる場合があります) が実行され、PHP プログラムが実行されます。結果 (ブラウザが認識できるコードで表される) は Apache 経由でブラウザに返され、ブラウザは返された結果を解釈、実行し、実行結果がブラウザ ウィンドウに表示されます。
ブラウザからリクエストされたファイルがPHPファイルではなく、HTMLファイルまたはJavaScriptファイルの場合。プロセスは簡素化されます。Apache は、ブラウザーによって要求された HTML ファイルまたは JavaScript ファイルをサーバー上のユーザー ドキュメント リリース ディレクトリで探します。見つからない場合は、ブラウザーにエラー メッセージを返します。ブラウザ 返された結果が解釈されて実行され、実行結果がブラウザ ウィンドウに表示されます。
2. ブラウザの動作プロセス
(1) Webクライアントの作業プロセス
どのアプリケーションシステムにも、ユーザーの操作を提供するインターフェース、つまりユーザーインターフェースが必要です。 B/S プログラム全体の観点から見ると、ブラウザの働きは、ユーザーが B/S プログラムと対話するためのインターフェイス (インターフェイス) です。その使命は次のとおりです:
A. ユーザーが入力したデータを収集する
B. ユーザーデータをサーバーに送信する
C. サーバーから返された応答を受信します
D. これらのコードを解釈して実行します
ブラウザがユーザーに対してサーバーのエージェントの役割を果たしていることがわかります。このエージェントは、メッセージを収集し、応答を要求し、サーバーから返された指示を解釈する役割を果たします。
(2)Webクライアントコード
ユーザーデータを収集するために使用されるインターフェイスを整理する場合でも、サーバーからの命令を解釈して結果のインターフェイスを形成する場合でも、それらはすべて Web クライアント コードに実装されます。一般的に使用される Web クライアント コードには、HTML 言語、JavaScript 言語、CSS、XML およびその他の言語が含まれます。
3.HTMLの仕組み
(1) HTML入門
HTML: HyperTextMarkupLanguage、ハイパーテキスト マークアップ言語。
1980 年代後半、欧州素粒子物理学研究所 (CERN: 欧州素粒子物理学研究所) で働いていたティム バーナーズ リー (WWW の父) は、研究を通じて人々の視覚処理がページベースであることを発見しました。そこで彼は、電子データはページ単位で表示されるべきだという結論に達しました。これを出発点として、彼はハイパーテキスト中心の管理方法を使用してインターネット上の情報を整理し、Web ページにアクセスして閲覧する方法を提案しました。ハイパーテキスト マークアップ言語を確立し、ハイパーテキスト転送プロトコル (HTTP: Hypertext Transport Protocol) を設計しました。 ). )、ハイパーリンク ファイルを取得するために使用されます。Uniform Resource Locator (URL:UniformResourceLocator) を使用して、ネットワーク ファイル、サイト、またはサーバーを見つけます。
(2)HTMLの仕組み
HTML は本質的にはプログラミング言語ではなく、マークアップ言語です。いわゆるマークは、一部の書籍ではラベルとも呼ばれます。オブジェクト指向の観点からは、ブラウザ オブジェクトの識別を意味します。これは、ブラウザ内のテキストや画像などのブラウザ サブオブジェクトのパフォーマンスや、ファイル間のリンクのタグを確立する方法を制御するために使用されます。これらのタグはテキスト形式のファイルに配置されます。プログラムの最大の違いは、それらを使用してオペレーティング システムまたはアプリケーション プログラムを制御し、特定のジョブを実行および完了できることです。ハイパーテキスト マークアップ言語ドキュメントは、どのオペレーティング システムのどのブラウザで開いても同じ効果が得られるように、できる限り形式的である必要があります。
(3) HTMLの基本構造
A. バージョンステートメント、プロローグ
B.ヘッド
C.ボディ
)