Javascript http头ajax范围始终提供完整的站点

Javascript http头ajax范围始终提供完整的站点,javascript,http-headers,range,greasemonkey,Javascript,Http Headers,Range,Greasemonkey,我尝试在Greasemonkey脚本中使用范围标头发送请求。 请求的站点有点长,我知道我实际需要哪些部分,所以我想,与其请求整个站点下载,我只需要请求必要的500字节来加快速度 但是,Range:bytes=0-500总是提供完整的网站。我还尝试了Content-Range:bytes=0-500,这不起作用,Content-Length:500,由于安全问题,不允许再设置 有人知道为什么会这样吗? 我正在使用Greasemonkey脚本: GM_xmlhttpRequest({ me

我尝试在Greasemonkey脚本中使用范围标头发送请求。 请求的站点有点长,我知道我实际需要哪些部分,所以我想,与其请求整个站点下载,我只需要请求必要的500字节来加快速度

但是,Range:bytes=0-500总是提供完整的网站。我还尝试了Content-Range:bytes=0-500,这不起作用,Content-Length:500,由于安全问题,不允许再设置

有人知道为什么会这样吗? 我正在使用Greasemonkey脚本:

 GM_xmlhttpRequest({
    method: 'GET',
    url: "http://colonel-strawberry.deviantart.com/",
     headers: {"Range": "bytes=0-500"}, 
    onload: function (responseDetails) {
      console.log(responseDetails);
    },
    onerror: function(responseDetails) {
      console.log("err:"+responseDetails);
    }
});
带响应头:

Date: Mon, 05 Nov 2012 17:11:42 GMT
Content-Encoding: gzip
Transfer-Encoding: chunked
P3P: policyref="/w3c/p3p.xml", CP="NOI DSP COR CURa OUR STP"
Connection: Keep-Alive
Server: Apache
Vary: Accept-Encoding
Content-Type: text/html
Cache-Control: private
Keep-Alive: timeout=45
主机collone-草莓.deviantart.com似乎不支持字节范围请求

您需要从支持数据的服务器请求数据

我通过比较curl-H Range:bytes=50-60$foo进行测试,其中$foo是第一个http://colonel-strawberry.deviantart.com 然后是我控制的服务器上的URI

注:

服务器可能会忽略范围标头

主机collone-草莓.deviantart.com似乎不支持字节范围请求

您需要从支持数据的服务器请求数据

我通过比较curl-H Range:bytes=50-60$foo进行测试,其中$foo是第一个http://colonel-strawberry.deviantart.com 然后是我控制的服务器上的URI

注:

服务器可能会忽略范围标头


啊,谢谢你的澄清。我已经担心了。这是否意味着我必须总是加载所有内容?或者是否有另一个js/header方法只请求字节或Dom的某一部分?@Julian,如果服务器不能很好地运行,那么您可以自己用responseDetails.responseText.substring 0,500来代替响应。或者,如果响应应该是有效的HTML文档,则可以对整个响应使用DOM解析。但是搜索和/或提出一个新问题来解决这个问题。@BrockAdams,我的目标是加快获取数据的过程。我想减少必须发送的数据量,以便缩短下载时间。对于一个请求来说,这可能不是一个大问题,但可能有大约50个这样的请求。。。好吧,现在我只需要重新思考我的概念。Dom解析可能是获取所需信息最慢的方法。indexOf和substring可能工作得更快^^^^,但谢谢您的建议!啊,谢谢你的澄清。我已经担心了。这是否意味着我必须总是加载所有内容?或者是否有另一个js/header方法只请求字节或Dom的某一部分?@Julian,如果服务器不能很好地运行,那么您可以自己用responseDetails.responseText.substring 0,500来代替响应。或者,如果响应应该是有效的HTML文档,则可以对整个响应使用DOM解析。但是搜索和/或提出一个新问题来解决这个问题。@BrockAdams,我的目标是加快获取数据的过程。我想减少必须发送的数据量,以便缩短下载时间。对于一个请求来说,这可能不是一个大问题,但可能有大约50个这样的请求。。。好吧,现在我只需要重新思考我的概念。Dom解析可能是获取所需信息最慢的方法。indexOf和substring可能工作得更快^^^^,但谢谢您的建议!