Kiwix-Serve does not support Multipart-range HTTP requests
- Dominant language
- C++
- Stars
- 197
- Forks
- 102
- Avg merge
- 5d 16h
- Merged PRs (30d)
- 7
Description
If such a request is done with latest version `3.4.0`, then an error is returned:
```bash
$ curl https://library.kiwix.org/content/micmaths_fr_all_2022-10/videos/IbV0UoXXcOY/video.webm -i -H "Range: bytes=0-50, 10-150"
HTTP/2 416
date: Wed, 07 Dec 2022 16:50:55 GMT
content-type: video/webm
content-length: 0
access-control-allow-origin: *
etag: "da17b3bc-69ba-bbf3-5b9d-e34363056d44/Z"
cache-control: max-age=3600, must-revalidate
x-varnish: 4722013 4394821
age: 12885
via: 1.1 varnish (Varnish/7.1)
accept-ranges: bytes
content-range: bytes */63655850
strict-transport-security: max-age=15724800; includeSubDomains
```
Unfortunately, the analysis of library.kiwix.org logs has shown that we have legitimate clients (Chrome on Android) which generate such kind of requests.
Therefore, this part of the specification like explained here should be supported:
https://developer.mozilla.org/en-US/docs/Web/HTTP/Range_requests#multipart_ranges
Kind of follow-up of #363
Contributor guide
Assessment
This issue has not been assessed yet.