curl -i -v https://域名
是看什么的?
这个命令是一个功能强大的网站/HTTP(S)服务诊断工具,主要用于在命令行下详细检查目标网站或服务的 HTTP(S) 响应和连接过程。具体来说,它查看:
-i
(–include):- 在输出中包含 HTTP 响应头。
- 你会看到服务器返回的状态码(如
200 OK
,301 Moved Permanently
,404 Not Found
,500 Internal Server Error
等)以及各种重要的响应头信息,例如:Content-Type
: 返回内容的类型(如text/html
,application/json
)。Content-Length
: 返回内容的大小。Location
: 重定向的目标URL(常见于 301, 302 状态码)。Set-Cookie
: 服务器设置的Cookie。Cache-Control
,Expires
: 缓存控制信息。Server
: 服务器软件信息(如 Nginx, Apache)。Date
: 响应时间。Connection
: 连接状态。- …以及其他自定义或标准响应头。
-v
(–verbose):- 提供极其详细的过程输出。
- 这会显示整个请求和响应的完整交互过程,包括:
- TCP 连接建立过程(连接到哪个IP和端口)。
- TLS/SSL 握手过程(如果使用HTTPS):
- 使用的协议版本(TLS 1.2, TLS 1.3)。
- 服务器证书信息(颁发者、有效期、域名是否匹配等)。
- 协商的加密套件。
- 完整的 HTTP 请求头(包括你发送的
Host
,User-Agent
,Accept
等)。 - 完整的 HTTP 响应头(与
-i
包含的相同,但-v
本身也会输出)。 - 响应正文(HTML, JSON 等)。
- 连接关闭信息。
- 如果发生重定向,
-v
会详细显示每一次重定向请求和响应的全过程。
总结来说,执行 curl -i -v https://域名
主要目的是:
- 诊断网站访问问题: 快速查看服务器返回的状态码和错误信息,定位是客户端错误(4xx)、服务器错误(5xx)还是重定向(3xx)。
- 检查响应头信息: 了解服务器设置(内容类型、缓存策略、Cookie、安全策略如CSP/HSTS等)。
- 分析重定向链: 清晰地看到请求被重定向了多次的完整路径。
- 验证 HTTPS/TLS 连接: 检查证书是否有效、是否过期、域名是否匹配、使用的协议和加密套件是否安全。
- 调试 API 接口: 查看API返回的原始响应头和状态码。
- 查看服务器信息: 了解网站使用的服务器软件。