#http-request #dns-lookup #timing #http #measure-time #trust-dns #web

bin+lib ttfb

库 + CLI 工具,用于测量 HTTP(S) 请求的 TTFB(第一次字节到达时间)。这包括中间步骤的数据,例如 DNS 查找的相对和绝对时间、TCP 连接和 TLS 握手。

20 个稳定版本

1.13.0 2024 年 8 月 2 日
1.12.0 2024 年 5 月 2 日
1.11.0 2024 年 4 月 9 日
1.10.0 2023 年 12 月 11 日
1.2.0 2021 年 7 月 16 日

#488网络编程

Download history 142/week @ 2024-04-28 21/week @ 2024-05-05 1/week @ 2024-05-12 6/week @ 2024-05-26 8/week @ 2024-07-07 1/week @ 2024-07-14 98/week @ 2024-07-28 15/week @ 2024-08-04

每月 115 次下载

MIT 许可证

49KB
794

TTFB:CLI + Lib 测量 HTTP/1.1 请求的 TTFB

类似于 Google Chrome 或 Mozilla Firefox 的网络标签,这个 crate 帮助你找到以下时间

  • DNS 查找(如果指定了域名,即没有提供 IP 地址)
  • TCP 连接开始
  • TLS 握手(如果使用 https/TLS)
  • 初始 GET 请求
  • TTFB(第一次字节到达时间)

它基于 crates trust-dns-resolver,用于现代安全的域名解析,以及 native-tls,用于处理 TLS v1.2/1.3。

跨平台

CLI + lib 在 Linux、MacOS 和 Windows 上运行。

使用二进制/CLI 工具

使用 cargo install ttfb --features bin 安装。它接受一个参数并将其传递给库。您传递的字符串作为第一个参数与库函数相同。

此外,CLI 还接受 -k/--insecure 选项。
示例:$ ttfb -k https://expired.badssl.com

使用库

该库公开了函数 ttfb(url: String)。字符串可以是例如

  • phip1611.de(默认为http://
  • http://phip1611.de
  • https://phip1611.de
  • https://phip1611.de?foo=bar
  • https://sub.domain.phip1611.de?foo=bar
  • http://12.34.56.78/foobar
  • https://1.1.1.1
  • 12.34.56.78/foobar(默认为http://
  • 12.34.56.78(默认为http://

示例输出

如果您已安装CLI并像下面这样调用它$ ttfb https://phip1611.de,输出将如下所示

TTFB for https://phip1611.de (by [email protected])
PROPERTY        REL TIME (ms)   ABS TIME (ms)
DNS Lookup    :         0.755           0.755  (probably cached)
TCP connect   :        35.484          36.239
TLS Handshake :        36.363          72.603
HTTP GET Req  :         0.011          72.614
HTTP Resp TTFB:        76.432         149.046

MSRV

该库的MSRV为1.65.0稳定版。二进制的MSRV为1.74.1稳定版。

依赖项

~15–28MB
~519K SLoC