【问题标题】:X-P2P-PeerDist header: where does it come from?X-P2P-PeerDist 标头:它来自哪里?
【发布时间】:2015-10-09 15:52:48
【问题描述】:

我在向我的服务器发出的一些请求中看到了这个 HTTP 标头:

X-P2P-PeerDist: Version=1.0

我知道这一点:http://www.faqs.org/patents/app/20110016220#ixzz3g3X8lSYF,但我想知道发送该标头的已知客户端是什么。

有什么想法吗?

更新:根据要求,我包含了随请求发送的其他标头(我已经用 *** 混淆了一些与我们的客户相关的私人内容):

GET http://***.com/ HTTP/1.1
Accept: application/x-ms-application, image/jpeg, application/xaml+xml, image/gif, image/pjpeg, application/x-ms-xbap, */*
Connection: Keep-Alive
Accept-Language: en-US
User-Agent: Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.1; Win64; x64; Trident/7.0; .NET CLR 2.0.50727; SLCC2; .NET CLR 3.5.30729; .NET CLR 3.0.30729; InfoPath.3; .NET4.0C; .NET4.0E)
X-P2P-PeerDist: Version=1.0
UA-CPU: AMD64
Accept-Encoding: gzip, deflate, peerdist
Host: ***.com
Cookie: SMSESSION=***; OrgName=***; authCookie=***; ASP.NET_SessionId=***
Pragma: no-cache
Cache-Control: no-cache

用户代理似乎在 IE7 模式 (compatible; MSIE 7.0) 中指示 IE11 (Trident/),但是当我使用此配置时,我没有得到 X-P2P-PeerDist 标头,所以我没有认为这是直接相关的。

【问题讨论】:

标签: http-headers


【解决方案1】:

它是PeerDist 对等内容缓存协议中使用的标头之一。它从未被标准化,甚至没有在IANA registry for HTTP headers注册。

已知它是从Internet Explorer.NET HTTP clientsSilverLight HTTP clients 的一些最新版本发送的。

【讨论】:

  • 感谢您的努力。但是,我正在寻找更精确的答案以复制环境。例如,我在 Windows 和 Windows Phone 上的 IE(11) 版本不发送标头。从您的链接中,我认为它可能是在嵌入另一个应用程序时由 IE 发送的。是否也可以由网络上的第三方添加? (代理?路由器?如果是,是哪些?)
  • 我想没有多少人能确切地告诉你在什么情况下会发送标头,除非他们有第一手经验。坦率地说,我不是其中之一,对不起。我认为您绝对可以尝试从 .NET 和 SilverLight 建立一些 HTTP 连接。
  • 顺便说一句,git.kaarsemaker.net/libgit2/blob/… 似乎建议 WinHTTP 添加标头。 Strip unwanted headers (X-P2P-PeerDist, X-P2P-PeerDistEx) that WinHTTP adds itself.
【解决方案2】:

如果客户端配置为使用BranchCache 并且使用 WinHTTP 发出请求,我相对肯定会发送此标头。关于 BranchCache:

为了优化 WAN 带宽,BranchCache 从您的主要办公室内容服务器复制内容并将内容缓存在分支机构位置,从而允许分支机构的客户端计算机在本地访问内容,而不是通过 WAN。 (Source)。

在此处进行本地测试时,启用了 BranchCache 的客户端会发送 X-P2P-PeerDist 标头,而全新的客户端(未配置 BranchCache)则不会发送。

底层协议似乎是 Peer Content Caching and Retrieval (MS-PCCRTP),因为协议描述中的 Message Syntax 部分定义了 X-P2P-PeerDist作为它使用的 HTTP 标头扩展之一。

但是,BranchCache Deployment Guide for Windows Server 2008 R2 and Windows 7 文档列出了其他 MS-PCCx 协议,但没有列出 MS-PCCRTP。因此,我没有外部证据表明此标头是由启用了 BranchCache 的客户端引起的。

【讨论】:

    【解决方案3】:

    我在 Windows 7 的 IE11 + 兼容模式下看到了这个,连接到 Intranet 应用程序并下载 docx 文件。该请求仅在下载文档时出现。所有请求都通过 F5 负载平衡器。在同一浏览器和同一应用程序上的其他非下载请求中,缺少 X-p2p-peerdist 标头。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-08-04
      • 1970-01-01
      • 2015-03-22
      • 2016-09-07
      • 2014-09-08
      相关资源
      最近更新 更多