通过 IPv6 的 HTTP 请求

发布于 2024-12-05 02:03:26 字数 748 浏览 1 评论 0原文

我想知道从 IPv4 服务器到 IPv6 服务器使用的 HTTP GET 请求的标头格式有何区别?

现在,目前我使用的是以下格式:

"GET /"+myFileToDownLoad+" HTTP/1.1\r\n"+
            "Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/vnd.ms-excel, application/vnd.ms-powerpoint, application/msword, application/x-shockwave-flash, */*\r\n"
            +"Referer: http://"+myDstIp+"/\r\n"
            +"Accept-Language: he\r\n"
            +"Accept-Encoding: gzip, deflate\r\n"
            +"User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0)\r\n"
            //+"Host: "+myDstIp+"\r\n"
            +"Host: "+((myHost==null)?myDstIp:myHost)+"\r\n"
            +"Connection: Close\r\n\r\n";

那么,如果我想使用IPv6服务器,是否需要更改格式?

I want to know the difference between the header format of HTTP GET request that uses from IPv4 server to IPv6 server?

Now, currently I am using the following format:

"GET /"+myFileToDownLoad+" HTTP/1.1\r\n"+
            "Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/vnd.ms-excel, application/vnd.ms-powerpoint, application/msword, application/x-shockwave-flash, */*\r\n"
            +"Referer: http://"+myDstIp+"/\r\n"
            +"Accept-Language: he\r\n"
            +"Accept-Encoding: gzip, deflate\r\n"
            +"User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0)\r\n"
            //+"Host: "+myDstIp+"\r\n"
            +"Host: "+((myHost==null)?myDstIp:myHost)+"\r\n"
            +"Connection: Close\r\n\r\n";

So, if i want to use the IPv6 server, is it necessary to change the format?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

乖乖 2024-12-12 02:03:26

RFC 2732 更新了主机字段:

对 RFC 2396 中的语法进行了以下更改:(1)
更改“主机”非终端以添加 IPv6 选项:

 主机 = 主机名 | IPv4地址| IPv6参考
  ipv6reference = "["IPv6地址"]"

其中 IPv6 地址的定义如 RFC2373 [ARCH] 中所示。

因此您应该将 IPv6 地址括在方括号中。

更新:
此更改适用于具有 IPv6 格式的主机部分的 URL,并传播到使用原始地址中的“主机”部分的所有请求字段 - 在您的示例中,这些字段是主机和引用者。
也就是说,您必须在 ReferrerHost 字段中的 myDstIp 两边添加方括号。

RFC 2732 updates the Host field:

The following changes to the syntax in RFC 2396 are made: (1)
change the 'host' non-terminal to add an IPv6 option:

  host          = hostname | IPv4address | IPv6reference
  ipv6reference = "[" IPv6address "]"

where IPv6address is defined as in RFC2373 [ARCH].

So you should enclose IPv6 address in square brackets.

Update:
The change applies to URLs with host part in IPv6 format and propagates to all request fields that use 'host' part from the original address - in your example these are Host and Referrer.
That is, you'll have to add square brackets around myDstIp in Referrer and Host fields.

撩人痒 2024-12-12 02:03:26

RFC2396 统一资源标识符 (URI):通用语法 已由 RFC2732 URL 中的文字 IPv6 地址格式更新。

具体来说,RFC2732 中的第 3 节。

RFC2396 Uniform Resource Identifiers (URI): Generic Syntax was updated by RFC2732 Format for Literal IPv6 Addresses in URL's.

Specifically, section 3 in RFC2732.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文