2 u010880786 u010880786 于 2016.04.14 10:59 提问

为什么设置了请求头为range格式,服务器返回码却是200而不是206呢?

HTTP1.1 中的状态码与状态描述中有写道
206 Partial Content 客户发送了一个带有Range头的GET请求,服务器完成了它(HTTP 1.1新)。
然后我的客户端代码:

 HttpURLConnection connection = (HttpURLConnection) url.openConnection();
connection.setRequestMethod("GET");
connection.setConnectTimeout(5000);
connection.setRequestProperty("Range", "bytes-" + startIndex                        + "-" + endIndex);
Log.i("hhh", connection.getResponseCode()+"");//返回值为200

服务器部分代码:

 response.setContentType("Application/Octet-stream;charset=utf-8");
response.setHeader("Content-Disposition", "attachment;filename="
+ fName+"");
FileInputStream is = new FileInputStream(f);
OutputStream os = response.getOutputStream();
int len = 0;
byte[] bs = new byte[2048];
while((len=is.read(bs))>0)
{
os.write(bs, 0, len);
}   
response.setCharacterEncoding("UTF-8");
is.close();
os.flush();
os.close();

求解答,谢谢,谢谢

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
http状态码查询,各种返回码的详解(200、206、500、416、403、404)
http状态码查询,各种返回码的详解(200、206、500、416、403、404) 文章由帮客之家于2013-11-25 12:11:44分享 评论(324) HTTP状态码,我都是现查现用。 我以前记得几个常用的状态码,比如200,302,304,404, 503。 一般来说我也只需要了解这些常用的状态码就可以了。 如果是做AJAX,REST,网络爬虫,机器人等程序。还是
HTTP状态码206
在网页中有一段代码,如下,意思是HTML5的video标签加载一段视频<div class="video_content_left"> <video autoplay loop > <source src="//res.360shouji.com/static/video/product/360os2/gesture.mp4" type="video/mp4"> </video> <
TCP为什么是进行三次握手与四次挥手?
TCP是主机对主机层的传输控制协议,提供可靠的连接服务,采用三次握手确认建立一个连接。 (1)位码即tcp标志位:有6种标示:SYN(synchronous建立联机)、 ACK(acknowledgement 确认) 、PSH(push传送、ST(reset重置)、 URG(urgent紧急) 、Sequence number(顺序号码) Acknowledge number(确认号码)。
为什么TCP建立连接协议是三次握手,而关闭连接却是四次握手呢?
为什么TCP建立连接协议是三次握手,而关闭连接却是四次握手呢?      这是因为服务端的LISTEN状态下的SOCKET当收到SYN报文的建连请求后,它可以把ACK和SYN(ACK起应答作用,而SYN起同步作用)放在一个报文里来发送。但关闭连接时,当收到对方的FIN报文通知时,它仅仅表示对方没有数据发送给你了;但未必你所有的数据都全部发送给对方了,所以你未必会马上会关闭SOCKET,也即你可能
Http头 Range、Content-Range
本文转自:http://hi.baidu.com/clusterlee/blog/item/7c973b0b2c289e0d94ca6b79.html   HTTP头中一般断点下载时才用到Range和Content-Range实体头, Range用户请求头中,指定第一个字节的位置和最后一个字节的位置,如(Range:200-300) Content-Range用于响应头 请求下载整个文件
为什么连接的时候是三次握手,关闭的时候却是四次握手?
1,当主机甲确认发送完数据且知道乙已经接受完了,想要关闭发送数据口(当然确认信号还是可以发),就会发FIN给主机B. 2,主机乙收到甲发送的FIN,表示收到了,就会发送ACK回复。 3,但这是乙可能还在发送数据,没有想要关闭数据口的意思,所以FIN与ACK不是同时发送的,而是等到乙数据发送完了,才会发送FIN给主机A. 4,A收到B发来的FIN,知道B的数据也发送完了,回复ACK,A等待2M...
cache策略实现的原理(200、304返回码含义)
什么是cache?定义:浏览器缓存(Browser Caching)是为了加速浏览,浏览器在用户磁盘上对最近请求过的文档进行存储,当访问者再次请求这个页面时,浏览器就可以从本地磁盘显示文档,这样就可以加速页面的阅览。cache的作用:1、减少延迟,让你的网站更快,提高用户体验。2、避免网络拥塞,减少请求量,减少输出带宽。 页面内容Cache策略:目前我们业务的JS、css、静态页面文件和图片等资源
2xx、200、201、202、203、204、205、206 状态码详解
2xx (成功) 以下状态都是基于2xx状态 200  成功     服务器已成功处理了请求。如果是对您的 robots.txt 文件显示此状态码,则表示 Googlebot 已成功检索到该文件。 201  创建     表示服务器执行成功,并且创建了新的资源 202  已接受   服务器接受请求,但未处理 203  非授权信息  服务器成功执行了请求,但是返回的
Http文件断点下载(Http请求头的Range字段)
所谓断点下载,也就是要从文件已经下载的地方开始继续下载。 在以前版本的 HTTP 协议是不支持断点的,HTTP/1.1 开始就支持了。一般断点下载时要用到 Range 。 Range 请求头中,指定第一个字节的位置和最后一个字节的位置。用于告诉服务器自己想取对象的哪部分,一般格式: Range: bytes=[first byte pos]-[last byte pos] 例如...
实践HTTP206状态:部分内容和范围请求
实践HTTP206状态:部分内容和范围请求[译] 原文:http://www.cyberciti.biz/cloud-computing/http-status-code-206-commad-line-test/ HTTP 2xx范围内的状态码表明了:"客户端发送的请求已经被服务器接受并且被成功处理了".HTTP/1.1 200 OK是HTTP请求成功后的标准响应,当