Macos curl-i和curl-i返回不同的结果

Macos curl-i和curl-i返回不同的结果,macos,caching,curl,ssl,varnish,Macos,Caching,Curl,Ssl,Varnish,我的理解是curl-i和curl-i将返回几乎相同的结果,除了curl-i将返回标准输出和curl-i标题,而curl-i仅返回标题,两者的标题相同。我们用Varnish做了一些gzip和ungzip测试,偶然发现curl-i显示X-Cache:HIT,但curl-i返回X-Cache:MISS!这怎么可能,我不确定,这正是我在这篇文章中的问题 以下是一些可能会或可能不会产生影响的更多细节: URL通常是SSL强制的(https),但HTTP和https都经过测试,以获得相同的结果 结果是一致的

我的理解是
curl-i
curl-i
将返回几乎相同的结果,除了
curl-i
将返回标准输出
curl-i
标题,而
curl-i仅返回标题,两者的标题相同。我们用Varnish做了一些gzip和ungzip测试,偶然发现
curl-i
显示
X-Cache:HIT
,但
curl-i
返回
X-Cache:MISS
!这怎么可能,我不确定,这正是我在这篇文章中的问题

以下是一些可能会或可能不会产生影响的更多细节:

  • URL通常是SSL强制的(https),但HTTP和https都经过测试,以获得相同的结果
  • 结果是一致的
  • 网站上说“是的,有点”

  • 你有登记不同的订单吗


    请参阅:有关X-Cache的详细信息,当您使用
    -I
    选项时,curl会向服务器发送不同的HTTP请求(在本例中为Varnish)。通常情况下,curl会发送一个GET请求,但是当您指定
    -I
    时,它会发送HEAD(实际上是告诉服务器只发送header,而不是实际内容)。我对Varnish不是特别熟悉,但它似乎通常会缓存GET和HEAD请求——但在您的情况下,它可能被配置为执行不同的操作,或者后端服务器可能会触发不同的操作。。。在任何情况下,我非常确定是GET vs.HEAD使缓存的响应与
    -I
    -I
    不同,当查询jenkins blueocean rest api时得到了相同的结果-
    -I
    显示了HTTP 200,而
    -I
    显示了HTTP 404。。。当然,这两种情况下的相同url都是从不同的位置(办公室和家庭)、不同的机器(同事)、不同的订单和重置本地缓存进行测试的。结果看起来是一致的,没有任何无关的结果。不过,事实就是这样:)除了Rails 3默认情况下不处理HEAD,因为默认情况下它不在RESTful中,不需要路由这些请求,也不需要在中浪费对象cache@jww认真地我恰好不同意。这个问题涉及Varnish缓存和cURL UNIX命令的规范。。。这些主题是“程序员常用的软件工具”和程序员中非常常见的软件开发技术。关于这些主题的许多问题已经得到讨论和推广。超级用户的主题是“计算机硬件、计算机软件或个人和家庭计算机网络”。请参阅下面的Meta:and