В Apache (ч/з mod_xsendfile) и в lighttpd есть такая замечательная штука как
обработка заголовка ответа X-Sendfile через sendfile(2).
Полезно, если напр. сервер отдающий большие файлы находится далеко от fastcgi
сервера. Да и даже если близко, то нет способа для fastcgi скрипта
авторизовать юзера перед передачей большого файла без использования
редиректов.
В nginx по идее есть sendfile, но только во перловом модуле (как и в mod_perl
Апача). Т.е. обработать ответ от upstream я не могу.
Было бы замечательно, если бы и подобная функциональность была бы и у nginx.
P.S. С помощью sendfile можно реализовать много чего, напр. у меня кешируется
динамический контент (примерно так, как у Apache2 mod_disk_cache).
nginx поддерживает более общий заголовок "X-Accel-Redirect: /download/file".
location /download/ {
internal;
root ...;
}
Из ответа бэкенда при этом наследуются заголовки:
Set-Cookie
Content-Disposition
Cache-Control
Expires
Accept-Ranges
Игорь Сысоев
http://sysoev.ru