INC ファイル形式とは?
ウェブの文脈における .inc ファイルは、Server Side Includes (SSI) を使用してウェブサーバーによって他のページに挿入されるように設計された HTML 断片です。SSI は 1994 年頃に NCSA HTTPd サーバーで始まりました。後に Apache の mod_include モジュールが主要な実装となり、現在も Apache 2.4.x でメンテナンスされています。
ウェブサーバーは、HTML コメント構文で記述された SSI ディレクティブ(例:<!--#include virtual="/header.inc" -->)を処理し、組み立てられたレスポンスをブラウザに送信する前に、その断片を置き換えます。ブラウザが .inc ファイルを直接受信することはなく、結合された HTML 出力のみを表示します。
典型的な用途は、ページヘッダー、フッター、ナビゲーションバーなど、サイト全体で再利用可能な要素です。.inc ファイルへの変更は、それを含むすべてのページに即座に反映されるため、SSI は PHP やその他のスクリプト言語が標準になる前に、サーバー側テンプレートの原始的な形式を提供していました。
.inc 拡張子は強制されたフォーマットのない慣習的なものです。同じ拡張子は PHP のインクルードファイル、アセンブラのインクルードファイル、Delphi/Pascal のソース断片でも使用されます。SSI 用の .inc ファイルはプレーンな UTF-8 または ASCII テキストであり、<html>、<head>、<body> ラッパーのない HTML 断片です。SSI は新しいプロジェクトではほとんど廃止されており、PHP の include/require、Jinja2 や Twig などのテンプレートエンジン、Jekyll や Hugo などの静的サイトジェネレーターに取って代わられています。
セキュリティと安全性
リスク: LOW.inc ファイルはプレーンテキストです。実行可能なバイナリコードは含まれておらず、それ自体がマルウェアの感染源になることはありません。ただし、サーバーによって処理される PHP または SSI コードを含む .inc ファイルはサーバー上で実行されます。悪意を持って作成されたサーバー側コードを含む .inc がサーバーにアップロードされインクルードされた場合、被害を及ぼす可能性があります。ダウンロードしてテキストエディタで開くファイルとしては安全です。主なリスクは、.inc ファイルを直接提供するように誤設定されたウェブサーバーです(例:config.inc 内のデータベース認証情報の露出)。
形式の詳細
概要- PHP インクルードファイル - PHP 開発者は、インクルードされる PHP コード断片に .inc 拡張子を付けることが一般的です(例:config.inc、db.inc)。これらは PHP によってサーバー側で処理され、ブラウザに直接提供されることはありません。
- Assembler/Pascal/Delphi インクルードファイル - 多くのプログラミング言語(x86 アセンブラ NASM/MASM、Pascal/Delphi、Fortran)は、定数、マクロ、または共有宣言を含むインクルードファイルに .inc を使用します。
- ゲーム/エンジンデータインクルード - GZDoom (DECORATE/ZScript)、Quake/Source エンジン、AutoHotkey などのゲームエンジンは、より大きなスクリプトにインクルードされるデータやスクリプトの断片に .inc を使用します。
INC ファイルを開くプログラム
技術的詳細
詳細仕様| ファイルタイプ | プレーンテキスト - HTML 断片(構造的なラッパーのない部分的なページコンテンツ) |
| MIME タイプ | text/html (主要); text/plain (代替) |
| エンコーディング | UTF-8 または ASCII - インクルード元のページのエンコーディングに一致 |
| 圧縮 | なし - 非圧縮のプレーンテキスト |
| 暗号化 | なし - ファイルレベルではなくウェブサーバーレベルでアクセス制御 |
| 典型的なサイズ | 10 KB 未満(サイトのヘッダーやフッターなどの再利用可能な HTML 断片) |
| マジックバイト | なし - バイナリシグネチャのないプレーンテキストファイル |
| SSI ディレクティブ構文 | HTML コメント構文: <!--#include virtual="/path/file" --> または <!--#include file="relative/path" --> |
| サーバー処理 | Apache mod_include または Nginx ngx_http_ssi_module がディレクティブを処理し、レスポンスをブラウザに送信する前に断片を注入 |
| ブラウザの可視性 | ブラウザが .inc ファイルを直接受信することはない - 完全に組み立てられた HTML レスポンスのみを受信 |
| IIS サポート | Windows 上の IIS Server Side Includes (SSINC) モジュールを介してサポート |
| 関連 OS | Linux, Windows, macOS (Apache, Nginx, または IIS をホストする任意の OS) |
| 一般的な用途 | サイト全体のヘッダー、フッター、ナビゲーションバー - 複数のページで再利用される HTML 断片 |
| 後継技術 | 新規開発では PHP include/require、Jinja2、Twig、および静的サイトジェネレーター (Jekyll, Hugo, Next.js) |
| リリース日 | ~1994 (NCSA HTTPd server includes); Apache adopted and extended |
| 最新バージョン | N/A - SSI is a static web technology; Apache mod_include still maintained in Apache 2.4.x |
| オープンスタンダード | はい · ロイヤリティフリー |
| 仕様書 | httpd.apache.org |
INC の変換
コミュニティ Q&A
ユーザーからの質問まだ質問はありません。INC ファイルについて最初の質問をしてみましょう。