Perl 分块传输编码浏览器体验
为什么要输出这个简单的Perl脚本>>Perl 分块传输编码浏览器体验,perl,apache,http,encoding,http-headers,Perl,Apache,Http,Encoding,Http Headers,为什么要输出这个简单的Perl脚本>> print "Content-type: text/plain\n"; print "Transfer-Encoding: chunked\n\n"; print "11\n\n"; print "0123456789ABCDEF\n"; print "11\n\n"; print "0123456789ABCDEF\n"; print "0\n\n"; …适用于Chrome浏览器,不适用于IE10.。您实现了错误:每个区块由区块大小(以字节为单位)组成
print "Content-type: text/plain\n";
print "Transfer-Encoding: chunked\n\n";
print "11\n\n";
print "0123456789ABCDEF\n";
print "11\n\n";
print "0123456789ABCDEF\n";
print "0\n\n";
…适用于Chrome浏览器,不适用于IE10.。您实现了错误:每个区块由区块大小(以字节为单位)组成,以十六进制表示,后跟CRLF序列,后跟区块数据:
因此,您的代码应该如下所示:
print "Content-type: text/plain\r\n";
print "Transfer-Encoding: chunked\r\n";
print "\r\n";
# first chunk
print "10\r\n";
print "0123456789ABCDEF\r\n";
# second chunk
print "10\r\n";
print "0123456789ABCDEF\r\n";
# last chunk
print "0\r\n";
print "\r\n";
您实现了错误:每个块由块大小(以字节为单位)组成,采用十六进制表示法,后跟CRLF序列,后跟块数据:
因此,您的代码应该如下所示:
print "Content-type: text/plain\r\n";
print "Transfer-Encoding: chunked\r\n";
print "\r\n";
# first chunk
print "10\r\n";
print "0123456789ABCDEF\r\n";
# second chunk
print "10\r\n";
print "0123456789ABCDEF\r\n";
# last chunk
print "0\r\n";
print "\r\n";
当然,在某些配置上,
\n
本身可以是\r\n
。因此,最好在网络应用程序中明确地说\015\012
,而不是\r\n
。当然,在某些配置中,\n
本身可以是\r\n
。因此,最好在网络应用程序中明确地说\015\012
,而不是\r\n
。