kiwix / kiwix/libkiwix

Kiwix-Serve does not support Multipart-range HTTP requests

Open
#855 8 comments 0 reactions 1 assignee Claimed by @veloman-yunkan View on GitHub
bug kiwix-serve
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

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.