It's almost Impossiable to Download Blender manual #87882

Closed
opened 2021-04-28 16:09:30 +02:00 by Bapi Dey · 22 comments

Pagename: index
Blender Version: 2.92
Documentation Language: en
Permanent link

Short description of error
[Please fill out a short description of the error here]

When I download the blender doc file in epub format it download some megabyte and then failed. I have 10mbps connection and I never able to download the blender manual. So I requested that make manual download pause/resume-able.
Pls allow Accept-Ranges: bytes on response header of manual download.

Pagename: `index` Blender Version: `2.92` Documentation Language: `en` [Permanent link ](https://docs.blender.org/manual/en/2.92/index.html) **Short description of error** [Please fill out a short description of the error here] When I download the blender doc file in epub format it download some megabyte and then failed. I have 10mbps connection and I never able to download the blender manual. So I requested that make manual download pause/resume-able. Pls allow Accept-Ranges: bytes on response header of manual download.
Author

Changed status from 'Needs Triage' to: 'Needs Developer To Reproduce'

Changed status from 'Needs Triage' to: 'Needs Developer To Reproduce'
Author

Added subscriber: @devbapidey

Added subscriber: @devbapidey
Author
[How does 'resume download' work? ](https://www.crazyengineers.com/threads/how-does-resume-download-work.7396)
Member

Added subscriber: @dmcgrath
Removed subscriber: @devbapidey

Added subscriber: @dmcgrath Removed subscriber: @devbapidey
Member

We should be supporting range already (we don't actively prevent it). I can pause and resume the epub download in Chrome just fine here while throttling the download to 3G speeds, as well:

paused.gif
resumed.gif

If I interrupt the download and cause a network error, I can resume it as well in chrome:

error.gif

We should be supporting range already (we don't actively prevent it). I can pause and resume the epub download in Chrome just fine here while throttling the download to 3G speeds, as well: ![paused.gif](https://archive.blender.org/developer/F10043462/paused.gif) ![resumed.gif](https://archive.blender.org/developer/F10043464/resumed.gif) If I interrupt the download and cause a network error, I can resume it as well in chrome: ![error.gif](https://archive.blender.org/developer/F10043466/error.gif)
Member

Added subscribers: @devbapidey, @ankitm

Added subscribers: @devbapidey, @ankitm
Member

As a workaround, use wget -c "https://docs.blender.org/manual/en/2.92/blender_manual_epub.zip" if available on your OS.

As a workaround, use `wget -c "https://docs.blender.org/manual/en/2.92/blender_manual_epub.zip"` if available on your OS.
Member

@dmcgrath both Safari and Firefox on macOS fail to resume download from the stopping point.
Brave (chromium fork) however does resume.

@dmcgrath both Safari and Firefox on macOS fail to resume download from the stopping point. Brave (chromium fork) however does resume.
Member

Changed status from 'Needs Developer To Reproduce' to: 'Needs Triage'

Changed status from 'Needs Developer To Reproduce' to: 'Needs Triage'
Member

Added subscriber: @Blendify

Added subscriber: @Blendify
Member

I can confirm that also, chrome works but firefox doesn't

I can confirm that also, chrome works but firefox doesn't
Author

firefox not work, I use wget -c.

firefox not work, I use wget -c.
Member

Since we support Accept-Ranges, perhaps this should be closed?
Accept-Ranges.gif
Although I am curious as to why Firefox doesn't work, but Chrome and and wget do. I did find a post that might help.
I also noticed that pause/resume fails on Firefox:
2021-05-01.png
Fixfox Resume.png
Maybe also take a look at: https://support.mozilla.org/bm/questions/1220917

Since we support Accept-Ranges, perhaps this should be closed? ![Accept-Ranges.gif](https://archive.blender.org/developer/F10048812/Accept-Ranges.gif) Although I am curious as to why Firefox doesn't work, but Chrome and and wget do. I did find [a post ](https://superuser.com/questions/1103143/how-can-i-resume-an-interrupted-firefox-download) that might help. I also noticed that pause/resume fails on Firefox: ![2021-05-01.png](https://archive.blender.org/developer/F10048816/2021-05-01.png) ![Fixfox Resume.png](https://archive.blender.org/developer/F10048818/Fixfox_Resume.png) Maybe also take a look at: https://support.mozilla.org/bm/questions/1220917
Member

Changed status from 'Needs Triage' to: 'Resolved'

Changed status from 'Needs Triage' to: 'Resolved'
Aaron Carlisle self-assigned this 2021-05-01 18:22:28 +02:00
Member

Yes I will close this, I don't think there is anything more we can do from our side.

Yes I will close this, I don't think there is anything more we can do from our side.
Member

If relevant: downloads that Safari can resume show foo MB of bar MB downloaded, but for the manual, it shows foo MB of ? downloaded.

If relevant: downloads that Safari can resume show `foo MB of bar MB downloaded`, but for the manual, it shows `foo MB of ? downloaded`.
Member

Can you show the headers you received (F12?) for that URL so that I can compare to ours?

Can you show the headers you received (F12?) for that URL so that I can compare to ours?
Member

Collected from Brave and FF because couldn't find that in Safari.

Brave:

HTTP/1.1 200 OK
Date: Sat, 01 May 2021 16:32:28 GMT
Server: Apache
Strict-Transport-Security: max-age=63072000; preload
X-Frame-Options: SAMEORIGIN
X-Xss-Protection: 1; mode=block
X-Content-Type-Options: nosniff
Last-Modified: Thu, 25 Feb 2021 14:20:06 GMT
ETag: "a215123-5bc29d922f772-gzip"
Accept-Ranges: bytes
Vary: Accept-Encoding,User-Agent
Content-Encoding: gzip
Keep-Alive: timeout=5, max=497
Connection: Keep-Alive
Transfer-Encoding: chunked
Content-Type: application/zip


GET /manual/en/2.92/blender_manual_epub.zip HTTP/1.1
Host: docs.blender.org
Connection: keep-alive
Upgrade-Insecure-Requests: 1
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/90.0.4430.93 Safari/537.36
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9
Sec-GPC: 1
Sec-Fetch-Site: same-origin
Sec-Fetch-Mode: navigate
Sec-Fetch-User: ?1
Sec-Fetch-Dest: document
Referer: https://docs.blender.org/manual/en/2.92/index.html
Accept-Encoding: gzip, deflate, br
Accept-Language: en-GB,en;q=0.9
Cookie: _ga=GA1.2.2139280258.1619886745; _gid=GA1.2.397486185.1619886745; _gat=1

FF:

HTTP/1.1 200 OK
Date: Sat, 01 May 2021 16:31:11 GMT
Server: Apache
Strict-Transport-Security: max-age=63072000; preload
X-Frame-Options: SAMEORIGIN
X-Xss-Protection: 1; mode=block
X-Content-Type-Options: nosniff
Last-Modified: Thu, 25 Feb 2021 14:20:06 GMT
ETag: "a215123-5bc29d922f772-gzip"
Accept-Ranges: bytes
Vary: Accept-Encoding,User-Agent
Content-Encoding: gzip
Keep-Alive: timeout=5, max=500
Connection: Keep-Alive
Transfer-Encoding: chunked
Content-Type: application/zip

GET /manual/en/2.92/blender_manual_epub.zip HTTP/1.1
Host: docs.blender.org
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.14; rv:88.0) Gecko/20100101 Firefox/88.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
DNT: 1
Connection: keep-alive
Referer: https://docs.blender.org/manual/en/2.92/index.html
Upgrade-Insecure-Requests: 1
Collected from Brave and FF because couldn't find that in Safari. Brave: ``` HTTP/1.1 200 OK Date: Sat, 01 May 2021 16:32:28 GMT Server: Apache Strict-Transport-Security: max-age=63072000; preload X-Frame-Options: SAMEORIGIN X-Xss-Protection: 1; mode=block X-Content-Type-Options: nosniff Last-Modified: Thu, 25 Feb 2021 14:20:06 GMT ETag: "a215123-5bc29d922f772-gzip" Accept-Ranges: bytes Vary: Accept-Encoding,User-Agent Content-Encoding: gzip Keep-Alive: timeout=5, max=497 Connection: Keep-Alive Transfer-Encoding: chunked Content-Type: application/zip GET /manual/en/2.92/blender_manual_epub.zip HTTP/1.1 Host: docs.blender.org Connection: keep-alive Upgrade-Insecure-Requests: 1 User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/90.0.4430.93 Safari/537.36 Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9 Sec-GPC: 1 Sec-Fetch-Site: same-origin Sec-Fetch-Mode: navigate Sec-Fetch-User: ?1 Sec-Fetch-Dest: document Referer: https://docs.blender.org/manual/en/2.92/index.html Accept-Encoding: gzip, deflate, br Accept-Language: en-GB,en;q=0.9 Cookie: _ga=GA1.2.2139280258.1619886745; _gid=GA1.2.397486185.1619886745; _gat=1 ``` FF: ``` HTTP/1.1 200 OK Date: Sat, 01 May 2021 16:31:11 GMT Server: Apache Strict-Transport-Security: max-age=63072000; preload X-Frame-Options: SAMEORIGIN X-Xss-Protection: 1; mode=block X-Content-Type-Options: nosniff Last-Modified: Thu, 25 Feb 2021 14:20:06 GMT ETag: "a215123-5bc29d922f772-gzip" Accept-Ranges: bytes Vary: Accept-Encoding,User-Agent Content-Encoding: gzip Keep-Alive: timeout=5, max=500 Connection: Keep-Alive Transfer-Encoding: chunked Content-Type: application/zip GET /manual/en/2.92/blender_manual_epub.zip HTTP/1.1 Host: docs.blender.org User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.14; rv:88.0) Gecko/20100101 Firefox/88.0 Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8 Accept-Language: en-US,en;q=0.5 Accept-Encoding: gzip, deflate, br DNT: 1 Connection: keep-alive Referer: https://docs.blender.org/manual/en/2.92/index.html Upgrade-Insecure-Requests: 1 ```
Member

I see you have a Accept-Ranges: bytes as well.

My tests, as per: https://linux.goeszen.com/apache-and-byte-ranges-for-resumable-downloads.html

#> curl -i -X HEAD --header "Range: bytes=50-100" https://docs.blender.org/manual/en/latest/blender_manual_epub.zip
Warning: Setting custom HTTP method to HEAD with -X/--request may not work the
Warning: way you want. Consider using -I/--head instead.
HTTP/1.1 206 Partial Content
Date: Sat, 01 May 2021 16:35:42 GMT
Server: Apache
Strict-Transport-Security: max-age=63072000; preload
X-Frame-Options: SAMEORIGIN
X-Xss-Protection: 1; mode=block
X-Content-Type-Options: nosniff
Last-Modified: Thu, 25 Feb 2021 14:20:06 GMT
ETag: "a215123-5bc29d922f772"
Accept-Ranges: bytes
Content-Length: 51
Vary: Accept-Encoding,User-Agent
Content-Range: bytes 50-100/169955619
Content-Type: application/zip

curl: (18) transfer closed with 51 bytes remaining to read
I see you have a `Accept-Ranges: bytes` as well. My tests, as per: https://linux.goeszen.com/apache-and-byte-ranges-for-resumable-downloads.html ``` #> curl -i -X HEAD --header "Range: bytes=50-100" https://docs.blender.org/manual/en/latest/blender_manual_epub.zip Warning: Setting custom HTTP method to HEAD with -X/--request may not work the Warning: way you want. Consider using -I/--head instead. HTTP/1.1 206 Partial Content Date: Sat, 01 May 2021 16:35:42 GMT Server: Apache Strict-Transport-Security: max-age=63072000; preload X-Frame-Options: SAMEORIGIN X-Xss-Protection: 1; mode=block X-Content-Type-Options: nosniff Last-Modified: Thu, 25 Feb 2021 14:20:06 GMT ETag: "a215123-5bc29d922f772" Accept-Ranges: bytes Content-Length: 51 Vary: Accept-Encoding,User-Agent Content-Range: bytes 50-100/169955619 Content-Type: application/zip curl: (18) transfer closed with 51 bytes remaining to read ```
Author

I also think we should close this. With a note on doc( if possible ) that 'Firefox download not resume able'.

I also think we should close this. With a note on doc( if possible ) that 'Firefox download not resume able'.
Author

This is Response Headers of my firefox browser.

HTTP/1.1 200 OK
Date: Sun, 02 May 2021 04:08:30 GMT
Server: Apache
Strict-Transport-Security: max-age=63072000; preload
X-Frame-Options: SAMEORIGIN
X-Xss-Protection: 1; mode=block
X-Content-Type-Options: nosniff
Last-Modified: Thu, 25 Feb 2021 14:20:06 GMT
ETag: "a215123-5bc29d922f772-gzip"
Accept-Ranges: bytes
Vary: Accept-Encoding,User-Agent
Content-Encoding: gzip
Keep-Alive: timeout=5, max=500
Connection: Keep-Alive
Transfer-Encoding: chunked
Content-Type: application/zip

I am not really sure about it. But I think Transfer-Encoding might cause problem as Content-Length is omitted ( more info on here ).

This is Response Headers of my firefox browser. ``` HTTP/1.1 200 OK Date: Sun, 02 May 2021 04:08:30 GMT Server: Apache Strict-Transport-Security: max-age=63072000; preload X-Frame-Options: SAMEORIGIN X-Xss-Protection: 1; mode=block X-Content-Type-Options: nosniff Last-Modified: Thu, 25 Feb 2021 14:20:06 GMT ETag: "a215123-5bc29d922f772-gzip" Accept-Ranges: bytes Vary: Accept-Encoding,User-Agent Content-Encoding: gzip Keep-Alive: timeout=5, max=500 Connection: Keep-Alive Transfer-Encoding: chunked Content-Type: application/zip ``` I am not really sure about it. But I think Transfer-Encoding might cause problem as Content-Length is omitted ( more info on [here ](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Transfer-Encoding#directives) ).
Member

Seems that we were zipping a zip file, which starts sending the content before knowing the size, thus was chunked.

I disabled gzip for .zip files which seems to work properly in Firefox now.

Thanks for the report!

Seems that we were zipping a zip file, which starts sending the content before knowing the size, thus was chunked. I disabled gzip for .zip files which seems to work properly in Firefox now. Thanks for the report!
Sign in to join this conversation.
No Milestone
No project
No Assignees
4 Participants
Notifications
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.

No due date set.

Dependencies

No dependencies set.

Reference: blender/blender-manual#87882
No description provided.