curl -v -i 域名:详解HTTPS握手、状态码、响应头诊断网站

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://域名 主要目的是:

  1. 诊断网站访问问题: 快速查看服务器返回的状态码和错误信息,定位是客户端错误(4xx)、服务器错误(5xx)还是重定向(3xx)。
  2. 检查响应头信息: 了解服务器设置(内容类型、缓存策略、Cookie、安全策略如CSP/HSTS等)。
  3. 分析重定向链: 清晰地看到请求被重定向了多次的完整路径。
  4. 验证 HTTPS/TLS 连接: 检查证书是否有效、是否过期、域名是否匹配、使用的协议和加密套件是否安全。
  5. 调试 API 接口: 查看API返回的原始响应头和状态码。
  6. 查看服务器信息: 了解网站使用的服务器软件。

给TA打赏
共{{data.count}}人
人已打赏
0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
QQ客服
  • QQ176363189 点击这里给我发消息
旺旺客服
  • 速度网络服务商 点这里给我发消息
电子邮箱
  • sudu@yunjiasu.cc
微信客服
  • suduwangluo