curl -I 是获取远程服务器响应头的最常用方法,发送 HEAD 请求仅返回响应头、速度快;可搭配 -L 跟随重定向、-k 跳过 SSL 验证、-v 查看详细通信过程。

直接用 curl -I 就能获取远程服务器的响应头,这是最常用也最有效的方法。
基础用法:只取响应头(HEAD 请求)
curl -I 会向目标 URL 发送 HTTP HEAD 请求,服务器只返回响应头,不返回响应体,速度快、开销小。
- 命令格式:
curl -I https://example.com - 它等价于:
curl -X HEAD -i(但-I更简洁且默认禁用响应体) - 注意:部分网站对 HEAD 请求返回简化头,或重定向到 GET;如需确保看到完整响应逻辑,可加
-L跟随重定向
常见增强选项(提升实用性)
单靠 -I 有时信息不够,搭配几个参数更高效:
Linux 安全审计工具,检查 SSH 配置、开放/监听端口、防火墙规则(ufw/iptables/nftables)、失败登录尝试、sudoers 权限...
-
curl -I -L https://example.com:自动跟随 301/302 重定向,显示最终目标的响应头 -
curl -I -k https://self-signed-site.local:跳过 SSL 证书验证(调试自签名或内网服务时有用) curl -I -v https://example.com 2>&1 | grep "^:用详细模式(-v)捕获全部通信,再过滤出响应头行(适合排查 header 是否被中间设备修改)-
curl -I -H "User-Agent: Mozilla/5.0" https://example.com:自定义请求头,绕过某些服务对 curl 默认 UA 的限制
注意响应头里的关键字段
返回的头中,这几个字段最值得一看:
-
Status 行:如
HTTP/2 200或HTTP/1.1 302 Found,确认请求是否成功或重定向 - Server:标识后端 Web 服务类型(如 nginx/1.18、Apache/2.4)
-
Content-Type:实际返回内容类型(如
text/html; charset=utf-8) - Cache-Control / Expires:缓存策略,影响前端或 CDN 行为
- Set-Cookie:若存在,说明服务端尝试设 Cookie(登录态、CSRF token 等线索)
替代方案:需要响应体 + 头时用 -i
如果想同时看到响应头和响应体(比如检查 HTML 中是否有特定 meta 标签),改用 curl -i:
-
curl -i https://example.com:发送 GET 请求,把响应头和响应体一起输出,头尾用空行分隔 - 配合
head -n 20可快速预览前几行头信息:curl -i https://example.com | head -n 20

















