MIME 类型查询
MIME Type Lookup
由扩展名查 MIME 类型或反过来查,也能直接从文件字节嗅探类型。
一个页面里两种查询:一个扩展名映射到什么 MIME 类型,以及按前几个字节看一个文件实际上是什么。这两个答案可以老老实实地互相矛盾,矛盾时字节是对的。
按扩展名或类型查
| MIME 类型 | 扩展名 | 来源 |
|---|---|---|
| application/geo+json | .geojson | iana |
| application/hjson | .hjson | 约定俗成 |
| application/json | .json .map | iana |
| application/json5 | .json5 | 约定俗成 |
| application/jsonml+json | .jsonml | apache |
| application/ld+json | .jsonld | iana |
| application/manifest+json | .webmanifest | iana |
| application/ubjson | .ubj | 约定俗成 |
| application/x-ipynb+json | .ipynb | 约定俗成 |
| application/x-web-app-manifest+json | .webapp | 约定俗成 |
| model/gltf+json | .gltf | iana |
嗅探文件真正的类型
拖进任意一个文件
只在这个标签页里读前 4 KB。
怎么用
输入扩展名或类型
搜索是双向的——`pdf` 找到 `application/pdf`,`application/json` 找到映射到它的扩展名。`hwp` 这样的韩国格式也在表里。
或者把文件本身拖进来
只在这个标签页里读前 4 KB,和已知的魔数比对。这足以识别大多数容器和图片格式。
比较两个答案
字节说是 PNG 的 `.jpg` 是改了名的文件;字节说是 ZIP 的 `.csv` 是别人改了名的 `.xlsx`。这种不一致通常就是有人来这个页面的原因。
常见问题
为什么我的文件没有签名?
要么它是文本格式——CSV、JSON、HTML 和纯文本根本没有魔数——要么它是这个嗅探器不覆盖的格式。表里是常见格式,不是所有注册过的格式。
为什么两种不同的类型共用一个扩展名?
因为各个注册表意见不一。这张表把 IANA 注册表和 Apache、nginx 的映射——服务器实际发送的东西——合在一起,所以你既能看到官方类型,也能看到你的服务器会用的那个。
扩展名和 MIME 类型哪个是权威的?
都不完全是。扩展名是用户能改的命名约定;`Content-Type` 头是服务器做出的、可能出错的声明。魔数是三者中唯一描述文件本身的——所以浏览器才会嗅探。
可以从这些接进来
十六进制查看器
Hex Viewer
把任意文件展成偏移/十六进制/ASCII 三栏,用魔数判断格式,并高亮搜索命中的位置。
HTTP 状态码速查
HTTP Status Reference
逐条解释状态码在规范里的含义、缓存行为,以及人们常犯的误用。
JSON 格式化与校验
JSON Formatter & Validator
把 JSON 美化成缩进形式或压成一行,校验语法并直接指出出错的行和列。
YAML 格式化与校验
YAML Formatter & Validator
统一 YAML 缩进并校验语法,把会让解析器崩掉的制表符和锚点错误标出来。
接下来
这些工具吃得下当前工具的产出,结果可以直接送过去。
十六进制查看器
Hex Viewer
把任意文件展成偏移/十六进制/ASCII 三栏,用魔数判断格式,并高亮搜索命中的位置。
HTTP 响应头检测
HTTP Header Inspector
请求一个网址,列出完整的响应头、跳转链路、各段耗时和实际用到的压缩方式。
HTTP 状态码速查
HTTP Status Reference
逐条解释状态码在规范里的含义、缓存行为,以及人们常犯的误用。
Base64 编码解码
Base64 Encoder & Decoder
对文本和文件做 Base64 与 Base64URL 编解码,UTF-8 处理正确。
curl 转代码
curl to Code
把一条 curl 命令转成 fetch、axios、Python requests、Go、PHP 或 PowerShell 代码。
文本哈希计算
Text Hash
算出字符串的 MD5、SHA-1、SHA-256、SHA-384、SHA-512 和 CRC-32,输出可选大写或 Base64。