我想知道GET从IPv4服务器到IPv6服务器使用的HTTP 请求的头格式之间的区别?
现在,我目前使用以下格式:
"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";
Run Code Online (Sandbox Code Playgroud)
那么,如果我想使用IPv6服务器,是否有必要更改格式?
RFC 2732更新主机字段:
对RFC 2396中的语法进行了以下更改:(1)更改"host"非终端以添加IPv6选项:
Run Code Online (Sandbox Code Playgroud)host = hostname | IPv4address | IPv6reference ipv6reference = "[" IPv6address "]"其中IPv6address的定义与RFC2373 [ARCH]中的相同.
因此,您应将IPv6地址括在方括号中.
更新:
此更改适用于具有IPv6格式的主机部分的URL,并传播到使用原始地址中的"主机"部分的所有请求字段 - 在您的示例中,这些是Host和Referrer.也就是说,你必须在myDstIpin Referrer和Hostfields中添加方括号.