永发信息网

http响应头上为什么没有Content-Encoding

答案:1  悬赏:10  手机版
解决时间 2021-01-26 18:12
http响应头上为什么没有Content-Encoding
最佳答案
此前遇到这个问题,HTTP头部没有Content-Length字段。一位朋友通过修改服务器的配置解决。

他使用的方法是:

this.getResponse().setBufferSize(402800);

然而,当他们安装新的服务器时,又使用了默认的配置,程序再次出现故障。为了解决这个问题,最好的方法自然是在客户端处理。于是:大致总结如下:

如果没有Content-Length,而改用Tansfer-Encoding:chunke,则:

以"\r\n\r\n“作为HTTP头部的结束符号。其后,追加的是16进制的数据正文长度。接着是"\r\n“。接着是数据正文,再接着是"\r\n0\r\n\r\n"。即:

"\r\n\r\n“+十六进制的长度(字符串)+"\r\n“+数据正文+"\r\n0\r\n\r\n"

但这不是绝对的。比如,我的HTML内容是"a 0",那么,没有指定长度时,客户端应该收到"\r\n\r\n3\r\na
0\r\n0\r\n\r\n",而事实上结果可能不是这样,而是"\r\n\r\n3\r\na
0\r\n\r\n"。这点就比较恼人了。——我的处理方法是:假设收到的数据经过计算,发现内容长度(例如3个字节)都已传送完毕,就认为接收完毕。至于后面是"\r\n0\r\n\r\n"还是"\r\n\r\n",都不是我们所关心的问题。

然而,这也不是绝对的!因为上面的数据是未经过压缩的!有些HTTP服务器支持数据压缩,比如“Content-Encoding: gzip”,这时候,收到的数据,首先是根据上面的方法取得真实长度和数据内容,然后解压缩。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
邵阳批发书的地方在哪?
负刍的意思是什么啊?知道的请说下!
牙槽骨水平吸收时形成的牙周袋通常为A.骨上袋
能告诉我广州市天河职业高级中学是怎样的吗?
现在老婆难找
劳力士表带刮花了
滇凤茶庄怎么去啊,我要去那办事
个人信贷保证保险怎么买
有多少女性婚前不性行为
明前茶庄怎么去啊,我要去那办事
颓隳的意思是什么啊?知道的请说下!
如何学画画基本功
C# .NET中DataGridView控件中怎么自定义列标
台儿庄古城清真饭店
民勇于公战,怯于私斗,乡邑大治是因为商鞅的哪
推荐资讯
为什么西甲不会有电话门事件
下述哪项是不正确的A.胎儿娩出时无心跳、呼吸
消化腺所分泌的消化液由血液进入消化管错误.
【crit】英语翻译英文翻译CritRate和Incredse
科鲁兹有原车导航吗?
909X2 6=2004移动一根小棒使等式成立
神舟战神K650D i5D2升级win10怎么样,win7旗
笔记本电脑光驱弹出后如何正确取出光盘
PaPaPa小清吧怎么去啊,我要去那办事
创新求真精神是中华民族传统的优良品德,下列
空薄的意思是什么啊?知道的请说下!
对于40岁左右的女人怎么样铺垫微整?
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?