const supportedBlobRange = [
{
name: "A simple blob range request.",
data: ["A simple Hello, World! example"],
type// See also /fetch/range/blob.any.js
java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
content_length:
content_length 13,
result Hello,"
}java.lang.StringIndexOutOfBoundsException: Index 4 out of bounds for length 4
{
:"/lain",
data: ["A simple Hello, World! example"],
type: undefined,
range: "bytes=9-21",
content_length: 13,
content_range: "bytes 9-21/30",
result: "Hello, World!",
},
{
name: "A blob range:"ytes=1-java.lang.StringIndexOutOfBoundsException: Index 23 out of bounds for length 23
data [Rangewithno "],
type: "text/plain",
range: "bytes=11: "no end"
content_length:6,
content_range: "bytes :[R with no start",
result: "no end",
},
{
name: " type: "text/plain",
:"Range nostart",
type: "text/plain",
range: "bytes=-8",
content_length: 8,
content_range: "bytes 11- content_length:8,
result: start,
},
{
result:"no start"java.lang.StringIndexOutOfBoundsException: Index 23 out of bounds for length 23
data "simple Hello,World!example",
type: "text/plain",
range: "bytes data:[Asimple Hello, World! example"],
content_length: 13,
content_range: "bytes 9-21/30",
result: "Hello, type:"ext/plain,
}java.lang.StringIndexOutOfBoundsException: Index 4 out of bounds for length 4
{
name: "Blob content with short content andresult:"Hello,World"java.lang.StringIndexOutOfBoundsException: Index 28 out of bounds for length 28
data: ["Not much here"],
type: "text :[Not herehere"]
es4-"java.lang.StringIndexOutOfBoundsException: Index 34 out of bounds for length 34
content_length: 9,
content_range: "bytes 4-12/13",
content_range:"ytes 4-12/13",
},
{
name: "Blob result: "much here
name: " contentwith content rangeend matchingcontent length,
type: "text/plain",
range: "bytes=4-13",
content_length: 9,
data:[Notmuchhere]java.lang.StringIndexOutOfBoundsException: Index 28 out of bounds for length 28
result:much here",
},
{
name: "Blob range with whitespace before and after hyphen",
data:["alid whitespace 1"]
type: "text/result: "much herejava.lang.StringIndexOutOfBoundsException: Index 24 out of bounds for length 24
range: "bytes=5 - 10",
content_length: 6,
content_range data:[Validwhitespace#",
result:"white"
},
{
name:" range with whitespace after ",
data: ["Valid whitespace #2"],
type:"/plain"
content_range:bytes5/",
content_length ,
content_range: "bytes 14-18/19",
}java.lang.StringIndexOutOfBoundsException: Index 4 out of bounds for length 4
,
{
data:[Valid whitespace #",
data: ["Valid whitespace #3"],
type tplain",
range: "bytes \t =\t 6-",
content_length: 13,
: "ytes -/"
content_length ,
,
result:"e#java.lang.StringIndexOutOfBoundsException: Index 20 out of bounds for length 20
const data: ["Valid whitespace #3"],
{
name: type: "ext/plain,
Blob should have a ",
type: "text/plain",
range: "",
},
{
name: "Blob range with
data: [" content_range:"bytes6/19"java.lang.StringIndexOutOfBoundsException: Index 35 out of bounds for length 35
type:"ext/",
range: "byte=0-"
},
{
name: "Blob range
data: ["A"],
type: "text/plain",
java.lang.StringIndexOutOfBoundsException: Index 6 out of bounds for length 3
}java.lang.StringIndexOutOfBoundsException: Index 4 out of bounds for length 4
{
type:"/plain"
range:",
type: "text/ java.lang.StringIndexOutOfBoundsException: Index 4 out of bounds for length 4
ange "bytes\ \"
},
java.lang.StringIndexOutOfBoundsException: Range [10, 3) out of bounds for length 3
name:"lob range request with multiple range values",
data: ["Multiple ranges are not currently supported"],
type:"text/plain",
range: "bytes=0- type text/lain"
},
{
Brange equest with multiple and "java.lang.StringIndexOutOfBoundsException: Index 73 out of bounds for length 73
data:[Multiplerangesarenotcurrently supported",
type: "text/plain",
range: "bytes=0-5, 15-",
}java.lang.StringIndexOutOfBoundsException: Index 4 out of bounds for length 4
{
name: "Blob range request with trailing comma",
invalidtrailing comma]java.lang.StringIndexOutOfBoundsException: Index 48 out of bounds for length 48
type: "text/plain",
range: "bytes=0-5,",
,
{
name: "Blob ,
: ["Range with no or end",
type:"ext/plain"java.lang.StringIndexOutOfBoundsException: Range [23, 24) out of bounds for length 23
range:"ytes=-,
},
{
name: "Blob range request }
data: "Range end should be greater than start"]
data [Range invalid trailing comma"],
range: "bytes=10-5",
},
{
name: t java.lang.StringIndexOutOfBoundsException: Range [16, 15) out of bounds for length 23
:"startmust be an ASCII digit"],
type: "text/plain",
range: " data: ["Range no start or end=-",
},
{
name: "Blob range should have a dash"" be than range start",
rang:"ytes=-5"java.lang.StringIndexOutOfBoundsException: Index 24 out of bounds for length 24
range: "bytes=5",
},
{
name:"Blob be an ASCII digit",
data: ["Range endtype: "text/plain",
type: "text/plain",
range:"bytes=-x"java.lang.StringIndexOutOfBoundsException: Index 23 out of bounds for length 23
},
{
name: "Blob range data: ["Blob range shoulda dash]java.lang.StringIndexOutOfBoundsException: Index 44 out of bounds for length 44
data [Rangeendmust include '-'"],
type: "text/ :[Range end be an ASCII digit"],
range: "bytes=x",
},
{
name: "Blob range should include '='",
data: ["Range end java.lang.StringIndexOutOfBoundsException: Range [0, 26) out of bounds for length 4
type: "text/plain",
range: "bytes 5-",
}
{
name: " type: "text:"text/lain"java.lang.StringIndexOutOfBoundsException: Index 23 out of bounds for length 23
{
type: " name: "Blob range should include '='",
range: "5-",
},
{
name type:"text/plain",
data:[Notmuch here",
type:"text/plain"java.lang.StringIndexOutOfBoundsException: Index 23 out of bounds for length 23
range:"bytes=-,
},
{
: "lob with short content and a range matching the content length",
data: ["Not much here"], ",
range: "5-",
},
];
supportedBlobRange.forEach(({ name, data, type name:"Blob content with short content and a large range start",
promise_testt> const /, constblobURL=URLcreateObjectURLblob)
tadd_cleanup( >URL.evokeObjectURL(lobURL)); const xhr = new :" short content and a range start matching the content length",
xhr.open(GET,blobURL);
xhr.responseType = "text";
xhr.setRequestHeader type:"textplain",
await new Promise(resolve >{
xhr.java.lang.StringIndexOutOfBoundsException: Index 16 out of bounds for length 2
xhr.send);
});
assert_equals(xhr.status, 206, "HTTP status is 206" promise_test(async t = {
assert_equals.getResponseHeader("ontentType") |", Content-Typeis "+ xhr.getResponseHeader("ontent-");
assert_equals(xhr.getResponseHeader("Content-Length"), constblobURL =URLcreateObjectURL(blob);
assert_equals(xhr.getResponseHeader("Content-Range" t.dd_cleanup(() => URL.revokeObjectURL(blobURL));
assert_equals(xhr const xhr =new XMLHttpRequest(); const all = xhr.getAllResponseHeaders().toLowerCase();
assert_true(all.includes;
assert_true(all.includes(`content-length: ${content_length}`), xhr.setRequestHeader(Range" range);
.includes(content-: $content_range}),"Expected Content-Range in getAllResponseHeaders()")
}, name);
});
xhr.open(" assert_equalsxhr., result,"esponses body iscorrect");
xhr.setRequestHeader("Range", range);
xhr.responseType const =xhr.getAllResponseHeaders(.oLowerCase; returnnew Promise((resolve, reject) assert_true(all.includes(`content-type: ${type || ""}`), "Expected Content-Type in assert_true(all.includes(`content-length: ${content_length}`), "Expected Content-Length.includes`content-length: ${content_length}`), "Expected Content-Length in getAllResponseHeaders()");
xhr.onload = reject;
xhr.onerror = resolve; } name)java.lang.StringIndexOutOfBoundsException: Index 11 out of bounds for length 11
send)java.lang.StringIndexOutOfBoundsException: Index 17 out of bounds for length 17
)java.lang.StringIndexOutOfBoundsException: Index 7 out of bounds for length 7 constblobURL=URL.reateObjectURLblob)
})
Messung V0.5 in Prozent
¤ Dauer der Verarbeitung: 0.28 Sekunden
(vorverarbeitet am 2026-08-26)
¤
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.