http 请求头中没有Content-length

在J2ME开发中遇到HTTP请求缺少Content-Length的问题,导致服务器端无法正常处理。解决方法是移除程序中的flush语句。当使用chunked编码时,Content-Length将不会在请求头中出现,因为内容会分块传输。通过调整Server的IO buffer长度或避免调用flush()可控制chunked传输。在Eclipse中问题得到解决,但在NetBeans下仍存在,更换仿真器平台为SUN WTK后问题消失。
摘要由CSDN通过智能技术生成

J2ME的开发中,我遇到了一个问题,我的HTTP请求中没有Content-Length属性。而服务器端需要这个属性的值。

首先说解决方法:

将程序中的flush语句去掉即可。

 

根据查询各方资料,我了解到:

一般情况下,HTTP请求头中会包含Content-length属性。它的值是发送的内容的长度。接收者(浏览器或者服务器端)会等内容全部传输完毕,再根据Content-Length值来取内容。但是,如果设了Transfer-EncodingchunkedHTTP请求头中就不会有Content-Length属性了。因为Transfer-Encodingchunked,就意味着,内容会被分成一块一块的发送,接收者也就不需要等到内容都传输完毕了才读取其中的内容。这种情况下࿰

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值