2014-03-12 97 views
0

我想弄清楚是否有可能配置一個網絡服務器,以便文件的請求將延遲服務。因此,例如,如果我要爲該文件http://www.example.url/picture.jpg提供服務,我希望數據傳輸僅在請求發出後2秒內啓動......或任何其他任意數字。重要的是,這應該獨立於文件如何被訪問,所以只是一個HTML解決方案是行不通的。webserver服務文件請求延遲

我問過superuser.com和那裏的人建議我看看perl或php把這些東西放在一起,可以爲我提供我需要的功能。現在我沒有任何上述任何語言的經驗,但我認爲把這樣的東西放在一起不會太複雜,我的問題是......有人可以幫助我開始嗎?

謝謝你的時間。

回答

1

如果您使用mod_perl使用Apache2,那麼您可以使用其中一個handlers來執行此過濾。然而,即使下面的代碼作爲一個例子,你將必須既熟悉Perl和服務器的配置:

package ImgPause; 

use Apache2::RequestRec(); 

use Apache2::Const -compile => qw(FORBIDDEN OK); 

use strict; 
use warnings; 

our %images = (
    '/adesert.jpg' => 4, 
    '/afish.jpg'  => 4, 
    '/aflower.jpg' => 4, 
    '/ahouse.jpg'  => 4, 
    '/akoala.jpg'  => 4, 
    '/apenguin.jpg' => 4, 
    '/atulip.jpg'  => 5, 
) 

sub handler { 
    my $r = shift; 

    my $host = $r->header_in('Host'); 
    my $uri = $r->uri; 

    if ($images{$uri}) { 
     sleep $images{$uri}; 
    } 

    return Apache2::Const::OK; 
} 

1; 

__END__ 
+0

嗯好吧好吧,謝謝你給我在任何情況下一個線索。我想盡管在共享主機上這不可能是正確的?猜猜我可能不得不去換一個不同的包... – Balthatczar