Reputation: 61
While downloading a PDF via google chrome, i receive a 206 status response from the server. After going through the RFC, i found out that the client is making a conditional GET request appending a range header. is there any way to disable the range header while making the request or using a different browser is a solution?
Upvotes: 5
Views: 15711
Reputation: 765
This a solution for IIS. Verified for IIS 10.0
There is no built-in mechanism to achieve that but you can use "URL Rewrite" (https://www.iis.net/downloads/microsoft/url-rewrite) for that.
You can test your changes using curl:
curl -I https://<AddServerUrlHere>
Upvotes: 0
Reputation: 951
Just make sure you have mod_headers enabled, then add this to your Apache config:
<Files *.pdf>
Header set Accept-Ranges none
</Files>
The issue you're experiencing is a documented bug in Chrome: when a user tries to save a PDF file before the whole file has had a chance to download, the resulting file is corrupted. This fix stops Chrome from making partial requests for the file.
Upvotes: 1
Reputation: 574
What server are you using?
This is the apache documentation for mod_headers. You can set the Accept-Ranges header to none
http://httpd.apache.org/docs/2.2/mod/mod_headers.html
Try setting "Accept-Ranges none" in the httpd.conf file.
The mod_headers module must be loaded in the server too.
Also, when the request of a pdf or often streamed file it's done through chrome or an adobe plugin or so (other plugins), they will always attempt to do the GET request with Range:0- and try partial requests of the file to show content to the user (first pages of the pdf if the pdf is big) and manage the download so the server will respond with 206 status.
Upvotes: 1