ページの作成
親となるページを選択してください。
親ページに紐づくページを子ページといいます。
例: 親=スポーツ, 子1=サッカー, 子2=野球
子ページを親ページとして更に子ページを作成することも可能です。
例: 親=サッカー, 子=サッカーのルール
親ページはいつでも変更することが可能なのでとりあえず作ってみましょう!
| この記事の要点 |
|
ファイル拡張子とは
ファイル拡張子(file extension)は、ファイル名末尾のドット . 以降に付く短い文字列のことです。report.pdf なら .pdf、config.json なら .json が拡張子にあたります。役割は「このファイルはこの形式で書かれている」と OS・アプリケーションに伝えること。それだけです。
たとえばユーザーが photo.jpg をダブルクリックすると、OS は拡張子 .jpg を見て「JPEG 画像を扱うアプリ(既定の画像ビューア)」を起動します。script.py なら Python インタプリタが、archive.zip なら解凍ソフトが——という具合に、拡張子は関連付け(file association)のキーになります。
起源 ── 8.3 形式
拡張子という概念は、1970 年代の CP/M と、それを引き継いだ MS-DOS の「8.3 ファイル名」から来ています。ファイル名 8 文字 + 拡張子 3 文字、合計 11 文字(区切りのドットを含めて 12 文字)が当時の制限でした。
| 例 | 意味 |
|---|---|
COMMAND.COM | DOS のコマンド インタプリタ実行ファイル |
AUTOEXEC.BAT | 起動時に実行されるバッチファイル |
CONFIG.SYS | DOS のシステム設定ファイル |
README.TXT | プレーンテキストの説明書 |
Windows 95 で長いファイル名(LFN)がサポートされ、拡張子も 3 文字制限から解放されました(.html .json .docx など)。Unix 系では元々こうした制限が無く、拡張子は単なる慣習として運用されています。
拡張子は単なる「印」 ── マジックナンバー
拡張子は OS とユーザーに対するヒントに過ぎず、ファイル名を photo.jpg から photo.png に変えただけでは中身は変わりません。実体を決めるのはファイル先頭の数バイトに書かれた識別子で、これをマジックナンバー(magic number / file signature)と呼びます。
| 形式 | マジックナンバー(16進) | ASCII で見ると |
|---|---|---|
| PNG | 89 50 4E 47 0D 0A 1A 0A | ‰PNG\r\n␚\n |
| JPEG | FF D8 FF | — |
| GIF | 47 49 46 38 | GIF8 |
25 50 44 46 | %PDF | |
| ZIP | 50 4B 03 04 | PK.. |
| ELF (Linux 実行) | 7F 45 4C 46 | .ELF |
| Mach-O (macOS) | FE ED FA CE / CF | — |
| PE (Windows 実行) | 4D 5A | MZ |
Linux/macOS の file コマンドはこのマジックナンバーを読み取って実体を判定するので、拡張子を偽っても見破れます。
$ file mystery.dat
mystery.dat: PDF document, version 1.7
$ file installer.exe
installer.exe: PE32+ executable (GUI) x86-64, for MS Windows
MIME タイプ ── Web 上の拡張子
Web では拡張子の代わりに MIME タイプ(Multipurpose Internet Mail Extensions、Content-Type)が使われます。Content-Type HTTP ヘッダで「このレスポンスは application/json です」と宣言するため、URL に拡張子がなくても正しく扱えます。
| 形式 | 拡張子 | MIME タイプ |
|---|---|---|
| HTML | .html | text/html |
| JSON | .json | application/json |
| XML | .xml | application/xml |
application/pdf | ||
| PNG | .png | image/png |
| JPEG | .jpg / .jpeg | image/jpeg |
| ZIP | .zip | application/zip |
| プレーンテキスト | .txt | text/plain; charset=UTF-8 |
MIME タイプの一覧は コンテントタイプ(Content-Type)一覧 を参照してください。
拡張子の偽装とセキュリティ
拡張子は文字列でしかないので、悪意ある攻撃者は 「実行ファイルを文書に見せかける」ことができます。古典的な手口は次の 2 つです。
1. 二重拡張子
invoice.pdf.exe のように拡張子を二重に付け、Windows の既定設定(「登録されている拡張子は表示しない」が ON)下で invoice.pdf としか表示されない状態を作ります。アイコンも PDF っぽいものを埋め込めるので、ユーザーは PDF と信じてダブルクリック → 実体は実行ファイルでマルウェアが起動。
対策: エクスプローラーの「表示」→「ファイル名拡張子」を必ず ON にする。配布ファイルは file コマンドや Get-FileHash でハッシュを照合する。
2. RTLO(Right-to-Left Override)
Unicode 制御文字 U+202E(右から左への上書き)を埋め込み、invoicefdp.exe を invoiceexe.pdf に見せかける手口。アンチウイルスやメールゲートウェイは検出しますが、手元で URL バーから直接ダウンロードする場合は警戒が必要です。
OS ごとの扱いの違い
| OS | 拡張子の役割 | 実体判定 |
|---|---|---|
| Windows | 拡張子で関連付け(レジストリ HKCR) | 基本は拡張子ベース。MotW(Mark of the Web)でブロックも |
| macOS | 拡張子 + Launch Services + UTI(Uniform Type Identifier) | 拡張子と中身の両方を参照 |
| Linux | 拡張子は慣習のみ。実行可否はchmod +x とシバン | file コマンドでマジックナンバー判定 |
関連リンク
ページの作成
親となるページを選択してください。
親ページに紐づくページを子ページといいます。
例: 親=スポーツ, 子1=サッカー, 子2=野球
子ページを親ページとして更に子ページを作成することも可能です。
例: 親=サッカー, 子=サッカーのルール
親ページはいつでも変更することが可能なのでとりあえず作ってみましょう!
子ページはありません
人気ページ
- 1 Eclipseで「サーバーに追加または除去できるリソースがありません。」の原因と対処法
- 2 tomcat の起動 / 停止ログと catalina.log・catalina.out の違い
- 3 JavaScript base URL 取得方法|window.location.origin と SSR/Node.js 対応
- 4 YouTube Data API v3 エラー一覧|403/400/404 の主要原因と切り分け
- 5 Spring Frameworkのアノテーション一覧
- 6 Laravel エラー一覧|500/Blade/DB 接続/ルーティングの代表エラー
- 7 3Dグラフィックスとは|モデリング/レンダリング/主要ソフトウェア (Blender / Maya)
- 8 【Spring】@Valueアノテーションとは
- 9 CATALINA_HOME の確認方法 (Linux / Mac)
- 10 【Spring】@Autowiredアノテーションとは
最近更新/作成されたページ
- IPv6とは|128bitアドレス・コロン16進表記/::省略・リンクローカル・SLAAC・デュアルスタック NEW 2026-06-22 12:34:44
- MAC アドレスフィルタリングの仕組みと限界 | ネットワーク入門 NEW 2026-06-22 12:19:10
- VPNとは|暗号トンネル・サイト間/リモートアクセス・IPsec/SSL-VPN/WireGuardを解説 NEW 2026-06-22 12:19:10
- Web通信プロトコル入門 HTTP/2・HTTP/3・WebSocket・gRPC・WebRTC | ネットワーク入門 NEW 2026-06-22 12:17:25
- WebRTC とは ブラウザ間 P2P の音声・映像・データ通信 | ネットワーク入門 NEW 2026-06-22 12:17:25
- HTTP/2 とは 多重化・HPACK・バイナリフレーム | ネットワーク入門 NEW 2026-06-22 12:17:25
- HTTP/3 (QUIC) とは UDP ベースの低遅延 Web 通信 | ネットワーク入門 NEW 2026-06-22 12:17:25
- WebSocket とは 全二重リアルタイム通信 ws/wss | ネットワーク入門 NEW 2026-06-22 12:17:25
- gRPC とは HTTP/2 + Protocol Buffers の高速 RPC | ネットワーク入門 NEW 2026-06-22 12:17:25
- ファイアウォールとは|パケットフィルタ・ステートフル・DMZ・次世代FW(L4/L7)を解説 NEW 2026-06-22 12:17:24
- TLS/SSLの仕組み|ハンドシェイク・暗号スイート・前方秘匿性・証明書検証をわかりやすく解説 NEW 2026-06-22 12:17:24
- CDN とは エッジキャッシュ・TTL・Cloudflare/CloudFront | ネットワーク入門 NEW 2026-06-22 12:17:24
- iptables/nftablesとは|テーブル・チェーン・ルール例・永続化をLinux視点で解説 NEW 2026-06-22 12:17:24
- HAProxy とは frontend/backend と設定例 | ネットワーク入門 NEW 2026-06-22 12:17:24
- 証明書と認証局(CA)とは|X.509・信頼チェーン・DV/OV/EV・失効(CRL/OCSP)を解説 NEW 2026-06-22 12:17:24
コメントを削除してもよろしいでしょうか?