SSI (Server Side Include) の html ファイル拡張子を使用する SSI (Server Side Include) は、「サーバーサイド埋め込み」または「サーバーサイド インクルード」と呼ばれることがあり、ASP に似たサーバーベースの Web ページ制作テクノロジです。
サーバーサイド インクルード (SSI) ディレクティブを使用すると、コンテンツがブラウザーに送信される前に、テキスト、グラフィックス、またはアプリケーション情報を Web ページに含めることができます。たとえば、SSI を使用して、時刻/日付スタンプ、著作権表示、または顧客が記入して返信するためのフォームを含めることができます。インクルード ファイルを使用すると、複数のファイルに繰り返し現れるテキストやグラフィックを簡単に含めることができます。すべてのファイルにコンテンツを入力するのではなく、コンテンツを 1 つのインクルード ファイルに入力するだけです。インクルード ファイルは非常に単純なステートメントで呼び出され、Web サーバーにコンテンツを適切な Web ページに挿入するよう指示します。また、インクルード ファイルを使用すると、コンテンツに対するすべての変更を 1 か所で行うだけで済みます。
SSI ディレクティブを含むファイルには特別な処理が必要なため、すべての SSI ファイルには SSI ファイル拡張子を付ける必要があります。デフォルトの拡張子は .stm、.shtm、および .shtml です。
Web サーバーは、Web ページの処理中に SSI コマンドを処理します。 Web サーバーは SSI ディレクティブを検出すると、含まれているファイルの内容を HTML Web ページに直接挿入します。 「インクルードファイル」に SSI ディレクティブが含まれている場合、このファイルも挿入されます。ファイルをインクルードするための基本的な命令に加えて、SSI 命令を使用して、ファイルに関する情報 (サイズなど) を挿入したり、アプリケーションまたはシェル コマンドを実行したりできます。
Web サイトのメンテナンスでよく発生する問題は、Web サイトの構造は修正されているものの、少しのコンテンツを更新するために大量の Web ページをやり直さなければならないことです。 SSI は、この問題を解決するためのシンプルかつ効果的な方法を提供します。これは、Web サイトの基本構造をいくつかの単純な HTML ファイル (テンプレート) に配置し、テキストをサーバーに渡してプログラムに自動的に実行させるだけです。テンプレートに基づいて Web ページを生成し、大規模な Web サイトの管理を容易にします。
したがって、SHTML 形式を使用したページの目的は ASP と似ていますが、API であるため、高速かつ効率的に実行されます。ASP よりも高速で、HTML よりも遅くなりますが、サーバーサイドのインクルードが使用できるため、より高速になります。ページの更新 (特に、バナー、著作権などのバッチ更新) を簡単に行うには、HTML の一部があり、他の HTML 段落を挿入するなど、特別なサーバー側スクリプトを途中に挿入する必要があると想像してください。このタスクを完了しますが、タスクがより重い場合は、さらに時間がかかる場合があります。5 秒など、ASP を使用せずに SHTML を使用する場合、処理時間はわずか 4 秒である可能性があります。
SSI を取り上げる理由は、Shtml (Server-Parsed HTML の頭字語) だからです。サーバー側の組み込みコマンドを含む HTML テキストが含まれます。 SHTML ドキュメントは、ブラウザに送信される前にサーバーによって完全に読み取られ、解析され、変更されます。 shtml と asp には類似点があり、asp の命令と同様に、いくつかの SSI 命令が使用されます。クライアントがこれらの shtml ファイルにアクセスするとき、サーバーはこれらの SHTML を記述します。ファイルが読み取られて解釈され、SHTML ファイルに含まれる SSI 命令が解釈されます。たとえば、SHTML ファイル内の SSI 命令を使用して、サーバーによって送信されるファイル (#include) を参照できます。クライアントは解釈される SHTML には SSI ディレクティブがありません。 HTMLにはない機能、つまりHTMLの進化系ともいえる動的SHTMLを実現できます。 Sina のニュース システムはこんな感じです。ニュースの内容は固定ですが、掲載されている広告やメニューは #include で参照します。
現時点では主に以下の用途があります:
サーバー側の環境変数を表示<#echo>
テキストコンテンツをドキュメントに直接挿入<#include>
WEBドキュメント関連情報を表示<#flastmod #fsize>サイズなど)
サーバー上の各種プログラムを直接実行<#exec>(CGIや他の実行プログラムなど)
SSI情報の表示形式を設定<#config>(ファイル作成日/サイズ表示)
高度な SSI
SSI は、WEB サーバー用に提供されるコマンドのセットです。これらのコマンドは、HTML ドキュメントのアノテーション コンテンツに直接埋め込むだけで済みます。例:
これは SSI コマンドであり、その機能は「info.htm」の内容を現在のページにコピーすることです。訪問者が閲覧すると、info.htm の内容が他の HTML ドキュメントと同じように表示されます。他の SSI コマンドの使用形式も基本的には先ほどの例と同じであり、SSI の使用方法は少しコードを挿入するだけで、非常に簡単であることがわかります。もちろん、WEB サーバーが SSI をサポートしていない場合、ブラウザはそれを注釈情報として扱い、コンテンツを直接スキップします。また、ブラウザはこの情報を無視します。
一部の WEB サーバー (IIS 4.0/SAMBAR 4.2 など) では、#include ディレクティブを含むファイルは SSI インタープリターにマップされた拡張子を使用する必要があります。そうでない場合、Web サーバーはデフォルトで SSI ディレクティブを処理しません。名前 .stm、.shtm、および .shtml はインタープリター (Ssinc.dll) にマップされます。
Apache は設定に応じて srm.conf を次のように変更します。
AddType text/x-server-parsed-html .shtml は、.shtml 拡張子を持つファイルの SSI コマンドのみを解析します
Netscape WEB サーバーは、管理サーバーを直接使用して SSI 機能を開きます。
Cern サーバーは SSI をサポートしていません。SSI 詐欺手法を使用して、http://sw.cse.bris.ac.uk/WebTools/fakessi.html にアクセスし、PERL スクリプトをダウンロードして CERN サーバーに SSI を使用させることができます。コマンド。 (execコマンドはサポートされていません。)
以上がSTHML チュートリアル (1)の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。