4つのファイル拡張子 .html、.htm、.shtml、.shtm の違い

4つのファイル拡張子 .html、.htm、.shtml、.shtm の違い
ウェブページを作り始めたばかりの友人の多くは、拡張子が非常に多いことに気づきます。実際、htm と html は同じであり、shtm と shtml も同じです。ウェブサイトの最適化のために、同じサフィックスを使用することをお勧めします。基本的に、訪問者にとって、html と htm は 2 つの異なるコンテンツになる可能性があります。

.htm と .html

まず、.htm ファイルと .html ファイルの違いを見てみましょう。答えは、同じだということです。

実際のところ、これは単なる個人的な好みの問題なので、同じ接尾辞を維持するだけです。従来、Windows では通常、サフィックス .htm が使用され、Linux (Unix) ではサフィックス .html が使用されます (Linux では、.htm ファイルを開くと、ソース コードが直接表示されます)。これは、昔、オペレーティングシステム (DOS) プラットフォームがウィンドウ 3.xx であり、システムのファイル命名規則が 8.3 であったためです。つまり、ファイル名は 8 文字まで、サフィックスは 3 文字までしか使用できず、当時は .html サフィックスを使用することは明らかに不可能でした。今では、これらの問題はもう存在しません。 (個人的には、.html の方がフォーマルだと感じます。.htm を使用すると DOS 時代への回帰になると考える人もいます。)

もう 1 つの問題はサーバー側にあります。サーバー上のフォルダーに index.html ファイルと index.htm ファイルの両方があり、URL でファイル名が省略されている場合 (http://www.domain.dom/dirname/ など)、明らかに 1 つのファイルが他のファイルより先に読み取られます (index.html が最初に解析されます)。実際、通常は 2 つのインデックス ファイルを同じフォルダーに保存しません。

.html と .shtml

次に、.html ファイルと .shtml ファイルの違いについて説明します。簡単に言うと、.shtml ファイルは ssi が追加された html ファイルです。それで、SSI とは何でしょうか?実際、私は以前、Apache で SSI 構成を有効にして HTML サポートを含めるという記事でこれに遭遇しました。

SSI は Server Side Include の略語です。埋め込まれたサーバー側インクルード コマンドを含む HTML テキスト。 SHTML ドキュメントは、ブラウザに送信される前に、サーバーによって完全に読み取られ、解析され、変更されます。 SSI は、HTML ファイル内のコメント行を通じて呼び出すことができるコマンドまたはポインターです。 SSI には強力な機能があります。 1 つの簡単な SSI コマンドだけで、Web サイト全体のコンテンツを更新したり、時間と日付を動的に表示したり、シェルや CGI スクリプトなどの複雑な機能を実行したりできます。 ウェブサイトのメンテナンスでよく発生する問題は、ウェブサイトの構造は固定されているものの、少しのコンテンツを更新するために多数のウェブページをやり直す必要があることです。 SSI は、この問題を解決するシンプルで効果的な方法を提供します。Web サイトの基本構造をいくつかのシンプルな HTML ファイル (テンプレート) にまとめます。テキストをサーバーにアップロードするだけで、プログラムがテンプレートに従って Web ページを自動的に生成し、大規模な Web サイトの管理が容易になります。

これを応用することで、ウェブサイトの一部の公開領域を独立したページにすることができ、その後、この技術を使用して、その領域のコンテンツを必要とする他のページにそれらを埋め込むことができます。

機構:

SSI メカニズムは、静的生成ではなく動的インクルードです。Apache などの Web サーバーがユーザーのリクエストを受信し、それを解析して SSI インクルード命令を見つけると、インクルードされたページを自動的に取り出し、リクエストされたページに埋め込み、ページ全体としてユーザーに送信します。ユーザーはサーバーが何をしたかはわかりませんが、完全なページを受け取ったことだけはわかります。

SSI の動作メカニズムから、ユーザーがページを要求するたびにインクルードアクションが発生するため、インクルードされたページの内容が変更された場合、リアルタイムで反映されることがわかります。このため、静的ページの動的な埋め込みを実現するのは非常に簡単です。これを使用して、Web サイト全体の公開領域を実装したり、大量の繰り返し領域のコンテンツを独立した静的ページに公開したりして、サイト全体のヘッダーとフッター、サイト全体の最新ニュースなど、必要な場所に SSI 指示でインクルードすることができます。

実際、SSI は .html ファイルでも有効にできます。Apache で対応する設定を行うだけです。SSI を有効にすると、.html ファイルと .shtml ファイルを同じように扱うことができます。

追加タイプ text/html .shtml .html
AddOutputFilter には .shtml .html が含まれます

具体的な設定方法については、HTMLがincludeをサポートできるようにApacheでSSI設定を有効にするを参照してください。

.shtm ファイルに関しては、ソース コードは window7 apache のブラウザーで直接開かれました。

<<:  シンプルな CSS テキストアニメーション効果

>>:  Dockerの匿名マウントと名前付きマウントの具体的な使用法

推薦する

MySQLデスクトップツールSQLyogのリソースとアクティベーション方法は、白黒のコマンドラインに別れを告げます

では、早速リソースについて見ていきましょう。 123WORDPRESS.COM ダウンロードSQLy...

CentOS 6.8 に MySQL 8.0.18 をインストールするチュートリアルの簡単な分析 (RPM 方式)

今日は、CentOS 6.8 サーバーに MySQL 8.0.18 をインストールする方法を記録しま...

MySQLでJSONフィールドを操作する方法

MySQL 5.7.8 では json フィールドが導入されました。このタイプのフィールドは使用頻度...

TomcatとJDKのバージョンの対応と各Tomcatバージョンの機能

Apache Tomcat は、Java Servlet および Java Server Pages...

Kubernetes コントローラーとラベルの簡単な分析

目次01 k8sの一般的なコントローラーRCコントローラーデプロイメント コントローラーステートフル...

Vue マルチページ構成の詳細

目次1. 複数ページの違い2. SPAとMPA 3. Vue Cli スキャフォールディング構成1....

Vueはマルチタブコンポーネントを実装します

効果を直接確認するために、リロード、左を閉じる、右を閉じる、その他の機能を閉じるなどの右クリック メ...

セマンティック HTML 構造の利点は何ですか?

1つ: 1.セマンティック タグは単なる HTML であり、CSS にはセマンティクスはありません...

CentOS8 システムをベースにした Gitlab を構築するために Docker を使用する詳細なチュートリアル

目次1. Dockerをインストールする2. GitLabをインストールする3. GitLabを初期...

Vueプロジェクトの最適化とパッケージ化の詳細な説明

目次序文1. ルーティングの遅延読み込み1. ルートの遅延読み込みが必要なのはなぜですか? 2. ル...

Node+Express テストサーバーのパフォーマンス

目次1 テスト環境1.1 サーバーハードウェア1.1.1 t2.マイクロ1.1.2 c5.large...

vue backtop コンポーネントを実装するための完全なコード

効果: コード: <テンプレート> <div class="back-t...

同じレベルの要素で Position:fixed と margin-top を一緒に使用する場合の CSS の問題

問題の説明CSS を使用して上部の固定効果を実現したいと思います。 margin-top と pos...

mysql は sql ファイルを実行し、エラーを報告します エラー: 不明なストレージ エンジン 'InnoDB' ソリューション

問題を見つける最近、仕事で問題が発生しました。InnoDB タイプの SQL ファイルを実行すると、...

航空機戦争ゲームを実装するためのネイティブJS

この記事の例では、参考のために航空機戦争ゲームを実装するためのJSの具体的なコードを共有しています。...