Apache と php の関係
Apache サーバーと php 言語を例にアクセスを説明します。動的ウェブサイトのプロセス https://www.cnblogs.com/sunscheung/p/4643281.html
現在、ウェブサイトのページは主に静的ページと動的ページに分けられます。大規模な Web サイト 一般的には動的 Web サイト構築技術が使用されており、Web サイトによっては静的 Web ページと動的 Web ページが混在しているものもあります。
この記事では、Apache サーバーと PHP 言語を例として、動的 Web サイトへのアクセス プロセスを詳しく説明します。この記事のトピックに直接ジャンプしましょう。
推奨: "PHP チュートリアル "
(1) クライアントはサーバー側の HTML ファイルにアクセスします
S1:これにより、マシンに設定されている DNS サーバー アドレスを見つけ、Web サイト URL 内の Web ホスト ドメイン名を、Web サーバーが配置されている Linux オペレーティング システムの対応する IP アドレスに解決します (Apache は通常、Linux オペレーティング システムと組み合わせて使用されます)。システム)。
S2: HTTP プロトコル (ハイパーテキスト転送プロトコル) を介して上記の IP アドレスのサーバー システムに接続し、デフォルトのポート 80 を介してリクエストします (デフォルトのポートは 80 ですが、他のポートもあり、通常はURL を入力するときにポートを入力する必要はありません)Apache サーバー上の対応するディレクトリにある HTML ファイル(index.htm など)。
S3: Apache サーバーはユーザーのアクセス要求を受信した後、管理するドキュメント ディレクトリ内で対応する HTML ファイル (index.htm など) を見つけて開き、クライアント ブラウザ (つまりユーザー) に応答します。 。
S4: ブラウザーは Web サーバーから応答を受信した後、サーバー側の HTML 静的コードを受信してダウンロードします。次に、ブラウザーはコードを解釈して、最終的に Web ページをレンダリングします (ブラウザーごとにコードが異なるため)。コードを解釈するためのルールなど)が異なるため、同じ Web ページに対して異なるブラウザによってレンダリングされる最終的なページ効果も異なります)。
(2) クライアントはサーバー側の php ファイルにアクセスします。
S1: このステップは、上記の HTML 静的 Web ページおよび対応する Web にアクセスするのと同じです。ページは DNS サーバーを通じて解析されます。サーバーの IP アドレス。
S2: 上記の html 静的ページへのアクセスと似ていますが、最後のリクエストは、Apache サーバー上の対応するディレクトリにある php ファイル (index.php など) です。
S3: Apache サーバー自体は PHP 動的言語スクリプト ファイルを処理できないため、PHP アプリケーション サーバーを探して処理を委託します (サーバーは事前に PHP アプリケーション サーバーをインストールする必要があります)。ユーザーが要求した PHP ファイル (index.php など) を PHP アプリケーション サーバーに処理します。
S4: PHP アプリケーション サーバーは php ファイル (index.php など) を受信し、php ファイルを開いて解釈し、最後にそれを html 静的コードに変換して、その html 静的コードを Apache に返します。サーバーに送信され、Apache サーバーは HTML 静的コードを受信し、クライアント ブラウザ (つまりユーザー) に出力されます。
S5: 上記の HTML 静的ページへのアクセスと同じです。ブラウザーが Web サーバーから応答を受信した後、サーバー側の HTML 静的コードを受信してダウンロードし、次にブラウザーがコードを解釈して最終的にレンダリングします。ウェブページ。
(3) クライアントはサーバー側の MySQL データベースにアクセスします。
ユーザーが MySQL データベースのデータを操作する必要がある場合、データベース管理ソフトウェアには次の操作が必要です。サーバー側の MySQL サーバーにインストールされ、Web サイトのデータを保存および管理するために使用されます。 Apache サーバーは MySQL サーバーに接続して操作することができないため、PHP アプリケーションサーバーもインストールする必要があります。このように、Apache サーバーは PHP アプリケーションサーバーにデータベースへの接続と操作を委託します。データベース内のデータを管理する場合、通常は構造体、つまりクエリ ステートメント、つまり SQL ステートメントを使用する必要があります。
S1: この手順は上記の php ファイルにアクセスするのと同じで、対応する Web サーバーの IP アドレスが DNS サーバーを通じて解析されます。
S2: 上記の php ファイルへのアクセスと同様に、Apache サーバー上の対応するディレクトリにある php ファイルへのアクセスをリクエストします。
S3: 上記の PHP ファイルへのアクセスと同様に、PHP アプリケーション サーバーは Apache サーバーからの委任を受け取り、対応する PHP ファイルを受け取ります。
S4: PHP アプリケーション サーバーは php ファイルを開き、php ファイル内のデータベース接続コードを介してこのマシンまたはネットワーク上の他のマシン上の MySQL データベースに接続し、php プログラムで標準 SQL クエリを実行します。ステートメントを使用してデータベース内のデータを取得し、PHP アプリケーション サーバーを通じてデータから HTML 静的コードを生成します。
S5: ブラウザーは Web サーバーから応答を受信した後、サーバー側の HTML 静的コードを受信してダウンロードします。次に、ブラウザーはコードを解釈して、最終的に Web ページをレンダリングします。
なお、記事中の(2)と(3)の違いは、一方がデータベースにアクセスする場合と、もう一方がデータベースにアクセスしない場合であり、処理に若干の違いがあります。
以上がApacheとphpの関係の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。