http的head区有一个特殊的属性,标志http的标准和响应代码,
如:http/1.1 200 ok
http/1.0 404
http/1.1 206
通过java.net.URLConnection对象,查到这个属性名是null的。
目前我想通过response的setHead()方法强制设置这个属性,可是一直不成功。
客户端还是默认值。
我的目的是想设置这个值为http/1.1 206来实现断点续传的服务器端,但客户端总是获得http/1.1 200.
程序流程是servlet /down通过给定参数,读取本地文件并提供下载服务,当客户需要断点续传时,/down同样要支持,其他的head参数交互和文件处理都已完成,就差这个了,因为当前下载软件都是要识别到http/1.1 206才会启用下载软件的断点续传功能,因为服务器端不论response如何设置,总是返回http/1.1 200 ok给下载软件,所以之郁闷。希望有实现过的朋友谈谈见解。通过其他对象完成也可。
可以mail我:hykwolf@163.com
so easy的事情:
response.setStatus(206);
//别忘了标记文件下载位置和文件大小
response.setHeader("Content-Range","bytes 20000-30000/30000 ");