Comments (15)
The version I'm running appears to be happy with the range header, but does not correctly serve partial responses (it will serve the entire file). It would be great if it did ranged responses.
from http-server.
Supporting range responses would be very nice. I currently can't use http-server to serve up video for HTML video tag scenarios because without range requests browsers have to wait for the entire video resource to be downloaded which depending on the video can be a very long wait before the video starts playing.
from http-server.
I'll add my vote for supporting ranges. It's vital for big files -- continuing downloads, for example.
from http-server.
Same here :-)
from http-server.
I'm a total n00b with this header. @oncletom could you rephrase your +1 in the form of a pull-request?
from http-server.
It really isn't complicated. Check out the spec at
http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.35 -- it isn't
long and is very simple.
from http-server.
@tremby so ... is that your way of saying we should all expect a pull-request from you soon? 😁
from http-server.
@indexzero I am like you, I did not much about the behaviour of Range.
The send
module is handling all the logic – I suppose implementing it is too much. There is a content-range parser otherwise, and now I discovered the createReadStream accepts a start/end, it makes it quite easy to do.
It is just a matter of writing tests then. I hope I will manage to save some time to propose a PR this week :-)
from http-server.
On 16 Sep 2014 07:40, "Charlie Robbins" [email protected] wrote:
@tremby so ... is that your way of saying we should all expect a
pull-request from you soon? 😁
I'm on vacation right now, so no time soon. But it's not out of the
question.
I really would have thought there's some node module out there with a
working implementation which could be leveraged...
from http-server.
Looks like there is. Could you check this out? https://github.com/jshttp/range-parser
from http-server.
So according to pillarjs/send#64, that jshttp effort will most likely extract that bit from the send
module (from which ranger-parser
has been pulled off already as you can see).
Status is there: https://jshttp.github.io/
An effort is already ongoing, I guess we just have to wait :-)
from http-server.
[email protected]
does appear to support this:
$ curl 'http://0.0.0.0:8080/file.txt'
Hello World
$ curl -H 'Range: bytes=6-' 'http://0.0.0.0:8080/file.txt'
World
$ curl -D - -H 'Range: bytes=6-' 'http://0.0.0.0:8080/file.txt'
HTTP/1.1 206 Partial Content
server: ecstatic-0.6.0
Content-Range: bytes 6-11/12
Accept-Ranges: bytes
Content-Length: 6
Content-Type: text/plain; charset=UTF-8
Date: Thu, 26 Feb 2015 20:17:32 GMT
Connection: keep-alive
World
from http-server.
FWIW, this works for me (tested using the commands above), using http-server 0.9.0. I'm fairly sure that this issue can be closed.
from http-server.
@indexzero Yes! I agree with @pwnall . This issue can be closed, Ecstatic does implement partial range headers, so I guess, there's not a need to do this separately.
from http-server.
I just tested myself and ranges seem to be supported correctly with http-server 0.11.1.
from http-server.
Related Issues (20)
- Static File Directory flag HOT 1
- 404 error on the page with param HOT 2
- index.html change but doesn't have any auto refreshing must to manual refresh HOT 4
- Proxy target request header not present HOT 1
- Bug Report HOT 1
- Do not open a new browser window if one is already open HOT 1
- RangeError: Invalid time value HOT 3
- --cors usage is incorrect in the documentation HOT 1
- How to let the json file (*.json) return response header: 'application/json', instead of 'application/json; charset=UTF-8' HOT 1
- OWASP vulnerability in dependency tree HOT 1
- i use it with termux,but i do not know how to upload file to termux HOT 1
- http-server runing on project root folder path without any reasons HOT 2
- {"message":"You are not authorized"} in GitHub Codespace HOT 2
- Support relative path prefixes (base in vite.config.js) HOT 2
- Need a maintainer? HOT 7
- Link not opening in Browser
- Add bandwidth limit parameter HOT 1
- Option -c is not working
- gz not served HOT 1
- qr code generator in termal HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from http-server.