Byte-range requests

I’m trying to sent a file to the iphone (which requires byte-range
request support) using the rails send_file method. However, this
fails, I think because of mongrel. I think so because if I send the
iphone a file handled by nginx, it plays it fine. But then when I
serve the file with rails the iphone can’t play it.

Any ideas?

Alex

On Nov 8, 2007, at 10:43 AM, Pete DeLaurentis wrote:

I know that Lighttpd + Apache support X-Send-File, although I’m not
sure about nginx.

It does, though it’s inexplicably called X-Accel-Redirect.

http://wiki.codemongers.com/NginxXSendfile

http://blog.kovyrin.net/2006/11/01/nginx-x-accel-redirect-php-rails/

-Nate

Hi Alex,

Check out the x_send_file plugin. When you use this to send a file,
it just sends the location on disk to the web-server (in a special
HTTP header).

The webserver then looks up the file + streams it down to the
client. I’ve noticed a huge speed boost after switching to x_send_file.

Since you observed that files sent by nginx work on your iPhone, this
would allow nginx to do the heavy lifting for you.

I know that Lighttpd + Apache support X-Send-File, although I’m not
sure about nginx.

Hope this helps,
Pete

Thank you for the clarification!

On 11/7/07, Alex E. [email protected] wrote:

I’m trying to sent a file to the iphone (which requires byte-range
request support) using the rails send_file method. However, this
fails, I think because of mongrel. I think so because if I send the
iphone a file handled by nginx, it plays it fine. But then when I
serve the file with rails the iphone can’t play it.

The other suggestions about using x_send_file or the equivalent are
the answer, but just to clarify, Mongrel does not currently support
byte-range requests. We have discussed adding support for that,
however.

Kirk H.

Pete DeLaurentis wrote:

Hi Alex,

Check out the x_send_file plugin. When you use this to send a file,
it just sends the location on disk to the web-server (in a special
HTTP header).

The webserver then looks up the file + streams it down to the
client. I’ve noticed a huge speed boost after switching to x_send_file.

Since you observed that files sent by nginx work on your iPhone, this
would allow nginx to do the heavy lifting for you.

I know that Lighttpd + Apache support X-Send-File, although I’m not
sure about nginx.

Hope this helps,
Pete
Hi, is it possible to http-stream seekable mp4 videos with
X-Accel-Redirect? Or do I need to add some plugin or other stuff as
well? I am targetting the new html5 tag and the iPhone.

Cheers,