PING 和 HTTP HEAD 有什么区别?

use*_*600 3 ping http-head

我有一个域名要测试。Ping 约为 20 毫秒。“HTTP HEAD”大约是 500 毫秒。

为什么他们之间有这么大的区别?这是服务器端的问题吗?是不是差别太大了?25 次。

out*_*yer 7

Ping 通常作为 ICMP 回显请求实现。一个更简单的数据报协议:您发送一个数据包,服务器回复相应的数据包,仅此而已。

HTTP HEAD 仍然是 HTTP:必须在两端之间建立 TCP 连接,并且 HTTP 服务器必须回复您的请求的标头。它显然很快,但不像发送单个数据包响应那么简单。

如果您正在测试域,ping 是更合适的工具,而 HTTP HEAD 是更适合测试HTTP 服务器的工具。


Chr*_*att 7

嗯,首先,ping 通过不同的协议 ICMP。服务器本身直接响应 ping。HTTP 是一种不同的协议,由必须在服务器上运行的附加应用程序(Web 服务器)处理(ping 内置于操作系统)。根据网络服务器的重量,相对于 ping 之类的东西,它可能需要更多的时间。此外,HEAD 与特定 URL 一起发送。如果该 URL 由 ASP.NET 之类的东西处理,而不仅仅是直接由 Web 服务器处理,则必须执行其他处理才能返回响应。


dot*_*tom 1

当您运行 ping 时,它的响应速度要快得多,因为它被设计为立即响应。它显示了大致的延迟,因此,如果您使用 ping 获得一致的结果,则无法获得比这更低的延迟。

当您运行时,HTTP HEAD您实际上是在向特定页面发出请求,该请求将被处理、执行渲染并且仅返回 head。与 ping 相比,它的开销要大得多,这就是为什么它需要更长的时间。