File Header
文件头(魔术字节)
文件开头的几个字节,包含标识文件格式的签名,使软件能够确定文件的真实类型,而不依赖于文件扩展名。
技术细节
魔术字节是文件开头(或特定偏移位置)的固定字节序列:PDF 以 %PDF- 开头,PNG 以 89 50 4E 47 (\x89PNG) 开头,JPEG 以 FF D8 FF 开头,ZIP 以 50 4B 03 04 (PK) 开头。Unix 的 file 命令和 libmagic 库使用这些签名数据库进行识别。当 Content-Type 头缺失时,Web 服务器会根据魔术字节进行 MIME 类型嗅探。X-Content-Type-Options: nosniff 头可防止浏览器覆盖声明的 MIME 类型。
示例
``` File size reference: 1 KB = 1,024 bytes ≈ a short paragraph of text 1 MB = 1,048,576 bytes ≈ a 1-minute MP3 at 128 kbps 1 GB = 1,073,741,824 bytes ≈ 1 hour of HD video Web delivery targets: HTML page: < 100 KB Hero image: < 200 KB JavaScript: < 200 KB Total page: < 2 MB ```