.html、.htm、.shtml、.shtm の違いと関連性について簡単に説明します。

.html、.htm、.shtml、.shtm の違いと関連性について簡単に説明します。
ご存知のとおり、私たちが毎日閲覧する Web ページ、Web サイト、または Web ページには独自のサフィックスがあり、異なるサフィックスは異なるファイル形式、異なる規制、プロトコル、および使用法に対応しています。最も一般的なサフィックスは .html と .htm で、一般的な .shtml と .shtm 形式もあります。私たち開発者のほとんどは、それらがそれほど違いがなく、自由に使用できることしか知りませんが、それらの間に何らかのつながりがあることは知りません。著者はそれらを簡単に要約し、皆さんと共有したいと思います。

まず、.htmlと.htmlについて紹介します。
HTML は、現在最も基本的で広く使用されている Web ページ ファイルの保存形式です。これはハイパーテキスト マークアップ言語であり、WWW の記述言語です。PHP、jsp、asp などの動的 Web ページ テクノロジによって保存されるテキスト形式とは異なります。ページに埋め込まれているサーバー側で実行されるステートメントはありません。これは、一般的なブラウザーによって直接解釈され、表示できる静的なページ形式です。
htm に関しては、実際には html と本質的な違いはありません。これは、DOS ファイル名標準の 8+3 (ファイル名は 8 文字を超えることはできず、拡張子は 3 文字を超えることはできません) を満たすためだけです。一部の古いシステム (32 ビット) では 4 桁のファイル拡張子を認識できないため、一部のサーバーでは .html の最後の l を省略する必要があります。ブラウザはこれらのファイルを自動的に認識して開くことができますが、これらの Web ページの URL は書き込まれた時点で対応している必要があります。つまり、index.html と index.htm は異なるアドレスに対応する 2 つの異なるファイルです。

次に、.shtmlと.shtmを紹介します。
shtml は、SSI テクノロジ サポート、つまり Server Side Include (SSI サーバー セグメント インクルード命令) に基づくファイルです。一部の Web サーバーに SSI 機能がある場合、shtml ファイルは特別な扱いを受けます。サーバーはまず shtml ファイルをスキャンして、特別な SSI 命令があるかどうかを確認します。特別な SSI 命令がある場合、Web サーバーの設定規則に従って SSI 命令を解釈し、解釈後に通常の HTML のようにブラウザーで解釈して表示します。
shtm に関しては、shtm と shtml の関係は、htm と html の関係とほぼ同じなので、ここでは詳しく説明しません...

最後に、htmlまたはhtmとshtmlまたはshtmの関係
HTML または htm は静的なページ形式です。つまり、サーバーはページ内のスクリプトを解析する必要がなく、サーバー側で実行されるスクリプトはありません。ただし、shtml または shtm は SSI テクノロジに基づいています。サーバー側で実行されるスクリプトがある場合は、PHP、JSP、ASP と同様に動的言語と見なされます。
shtml または shtm にサーバー側実行可能スクリプトが含まれていない場合、その機能は html または htm と同じです。

SHTML と HTML の違いは、一言で説明できます。SHTML は HTML ではなくサーバー API であり、SHTML はサーバーによって動的に生成される HTML です。
どちらもハイパーテキスト形式ですが、shtml は SSI テクノロジに使用されるファイルです。 これは Server Side Include (SSI サーバー側インクルード ディレクティブ) です。 Web サーバーに SSI 機能がある場合 (Netscape Enterprise Server などのほとんどの (特に Unix ベースの) WEB サーバーは SSI コマンドをサポートしています)。
shtml ファイルは特別に扱われます。 まず、shtml ファイルをスキャンして、特別な SSI 命令があるかどうかを確認します。
ある場合、SSI 命令は Web サーバーの設定ルールに従って解釈されます。 解釈後、通常の HTML とともにクライアントに送信されます。

html
SSI (Server Side Include) の HTML ファイル拡張子を使用します。SSI (Server Side Include) は、一般に「サーバー側埋め込み」または「サーバー側インクルード」と呼ばれ、ASP に似たサーバーベースの Web ページ作成テクノロジです。

SSI の仕組み:
サーバー側インクルード (SSI) ディレクティブを使用すると、コンテンツをブラウザに送信する前に、テキスト、グラフィック、またはアプリケーション情報を Web ページに含めることができます。たとえば、SSI を使用して、タイムスタンプや日付スタンプ、著作権表示、または顧客が記入して返送するフォームを含めることができます。インクルード ファイルを使用すると、複数のファイルに繰り返し表示されるテキストやグラフィックを簡単に作成できます。すべてのファイルにコンテンツを入力する代わりに、インクルード ファイルにコンテンツを配置することができます。インクルード ファイルは、Web サーバーにコンテンツを適切な Web ページに挿入するように指示する非常に単純なステートメントで呼び出されます。さらに、インクルード ファイルを使用すると、コンテンツに対するすべての変更を 1 か所で行うことができます。

SSI ディレクティブを含むファイルは特別な処理を必要とするため、すべての SSI ファイルに SSI ファイル拡張子を付ける必要があります。デフォルトの拡張子は.stm、.shtm、.shtmlです。

Web サーバーは、Web ページを処理しながら SSI ディレクティブを処理します。 Web サーバーは SSI ディレクティブを検出すると、インクルードされたファイルの内容を直接 HTML Web ページに挿入します。インクルード ファイルに SSI ディレクティブが含まれている場合は、このファイルも挿入されます。ファイルをインクルードするための基本的なディレクティブに加えて、SSI ディレクティブを使用して、ファイルに関する情報 (サイズなど) を挿入したり、アプリケーションまたはシェル コマンドを実行したりできます。

ウェブサイトのメンテナンスでよく発生する問題は、ウェブサイトの構造は固定されているものの、少しのコンテンツを更新するために多数のウェブページをやり直す必要があることです。 SSI は、この問題を解決するシンプルで効果的な方法を提供します。Web サイトの基本構造をいくつかのシンプルな HTML ファイル (テンプレート) にまとめます。あとは、テキストをサーバーにアップロードし、プログラムにテンプレートに従って Web ページを自動的に生成させるだけで、大規模な Web サイトの管理が容易になります。

したがって、SHTML 形式を使用するページの目的は ASP と似ていますが、API であるため、より高速かつ効率的に実行されます。ASP より高速で、HTML より低速です。ただし、サーバー側インクルードを使用できるため、ページの更新は簡単です (特にバナー、著作権などのバッチ更新)。HTML のセクションがあり、その中間に他の HTML 段落を挿入するなど、特別なサーバー側スクリプトを挿入したいとします。このタスクを完了するために ASP を選択しますが、タスクがより重く、5 秒など、より時間がかかる場合は、このときは ASP を使用せず SHTML を使用し、処理時間はおそらく 4 秒だけです。

<<:  CSS3 で実装された価格表

>>:  Dockerを使用してMQTTサーバーを構築するプロセスの詳細な説明

推薦する

HTMLとXHTML、HTML4とHTML5のタグの違いについて簡単に紹介します。

HTML と XHTML の違い1. XHTML要素は正しくネストされている必要がある2. XHT...

Windows ホストと Docker コンテナに共有フォルダを設定してマウントする手順

Docker コンテナ内のプログラムは、ホスト ディレクトリ内のデータにアクセスして呼び出す必要があ...

MySQL 5.6.23 のインストールと設定環境変数のチュートリアル

この記事では、MySQL 5.6.23のインストールと設定のチュートリアルを参考までに紹介します。具...

データバインディングとリストデータの表示にはVue3を使用する

目次1. Vue2との比較1. Vue3の新機能2. Vue2とVue3の応答原理の比較3. 配列の...

XHTML の一般的な構造タグ

構造本文、見出し、HTML、タイトル文章abbr、頭字語、アドレス、引用ブロック、br、引用、コード...

MySQL におけるユニーク制約と NULL の詳細な説明

序文説明を簡略化するために以前に設定した要件は、他のグループから MQ メッセージを受信し、データベ...

正の整数かどうかを判断するMYSQLカスタム関数の例コード

関数を記述できます。主に正規表現を使用して判断を行います。入力文字が空の場合は、「-」を使用して置き...

MySQLデータベースは重複データを削除し、メソッドインスタンスを1つだけ保持します

1. 問題の紹介ユーザー テーブルに 3 つのフィールドが含まれているシナリオを想定します。 id、...

MySQL が暗黙のデフォルト値を処理する方法

何人かの学生は、マスターとスレーブの間の不一致の問題に遭遇したと述べました。一般的な状況としては、m...

Dockerコンテナが起動直後に終了する問題を解決する

最近、Docker がコンテナの起動時に特定のプロセスを直接実行できるようにする方法を調べていたとこ...

Linux で crontab 出力リダイレクトが有効にならない問題の解決方法

質問LINUX では、定期的なタスクは通常、cron デーモン プロセス [ps -ef | gre...

Windows 64 ビット版 MySQL 5.7 以降の解凍パッケージにデータディレクトリと my-default.ini がなく、サービスが起動できない問題の簡単な解決方法 (問題概要)

私は SQL の初心者で、オープンソースのインストールは非常に簡単だと思っていましたが、その過程でい...

Vue Notepadの例の詳細な説明

この記事の例では、メモ帳機能を実装するためのVueの具体的なコードを参考までに共有しています。具体的...

CSSはインラインブロックのずれの問題を解決します

もうナンセンスじゃない、郵便番号HTML部分 <div class="positio...

MySQL複合クエリの詳細な説明

UNIONの使用ほとんどの SQL クエリは、1 つ以上のテーブルからデータを返す単一の SELEC...