一、什麼是thttpd
thttpd是一款高性能、輕量級的Web服務器,它的代碼量很小,但是性能卻非常強勁。thttpd的特點是佔用資源少,支持CGI/1.1、FastCGI以及SSL,可在較小的系統上運行,這使得它成為大量嵌入式和嵌入式Linux系統的首要選擇。
二、安裝和配置thttpd
1、安裝:thttpd可以從官網https://acme.com/software/thttpd/下載。
下面是源代碼安裝過程:
//下載源代碼 $ wget https://acme.com/software/thttpd/thttpd-2.29.tar.gz //解壓縮 $ tar -zxvf thttpd-2.29.tar.gz //進入目錄 $ cd thttpd-2.29 //配置、編譯並安裝 $ ./configure && make && make install
2、配置:thttpd的配置非常簡單,只需修改一個名為thttpd.conf的文件,該文件位於thttpd的安裝目錄下。下面是一份簡單的thttpd.conf配置文件:
dir=/usr/local/www port=80 host=127.0.0.1 user=www-data logfile=/var/log/thttpd.log pidfile=/var/run/thttpd.pid mime_types=( ".html" "text/html" ".txt" "text/plain" ".jpg" "image/jpeg" ".gif" "image/gif" ".png" "image/png" ) cgi_extensions=( ".cgi" ".pl" ".rb" ".py" ) default_type="text/plain" index_files=("index.html" "index.htm") verbose=0
三、使用thttpd
1、靜態文件-serving
thttpd的主要目的是為Web瀏覽器提供靜態文件-serving的服務。為此,thttpd通過HTTP協議處理不斷到達的請求並將它們用響應發送回請求該服務的瀏覽器。如果請求的文件存在且可讀,則在響應中將包含該文件的內容(靜態文件-serving)。同樣,如果請求的文件不存在或不可讀,則thttpd將返回“404 Not Found”HTTP響應代碼。
2、CGI編程
CGI是一種用於Web服務器的協議,用於與基於Web的腳本語言交互。thttpd可使用CGI在Web服務器和一個腳本語言之間傳遞數據。只需將腳本防止在特定的文件夾中,讓thttpd知曉該目錄,thttpd就可以訪問它並將參數送到腳本中進行處理。下面是一個簡單的Perl腳本示例,該腳本位於thttpd的cgi-bin文件夾中:
#!/usr/bin/perl print <<"EOF"; Content-type: text/html\n\nMy CGI Script My CGI Script
Hello, World!
EOF
3、FastCGI編程
FastCGI可用於將CGI腳本運行的時間短化為幾毫秒。使用FastCGI可將CGI執行分離為單獨的進程,使Web服務器能夠增加對多個並發請求的支持,而不用不斷地開啟和關閉進程。thttpd包含一個可以用於FastCGI腳本的模塊,可以使用基於C、C ++、Perl、Ruby等的腳本語言編寫FastCGI腳本。
4、SSL加密/解密
SSL是用於對客戶端和Web服務器之間進行加密/解密通信的協議。thttpd可使用OpenSSL庫(由於一些法律原因,OpenSSL庫的一部分“Strong Crypto”代碼可能在您所在的國家不可用)來啟用加密通信。只需將thttpd.conf文件中的secure進行修改即可。
dir=/usr/local/www port=443 host=127.0.0.1 ssl_cert_file=/path/to/cert.pem ssl_key_file=/path/to/key.pem ssl_enabled=1
四、結語
thttpd雖然看起來非常簡單,但卻非常強大。實際上,它的強大在於其高度優化的Web服務器代碼和每個功能的設計。thttpd已在具有非常高性能要求的許多Web應用程序中使用,如Google搜索引擎、Yahoo!、Red Hat以及其他一些公司,足以說明它的能力以及代表其種類的Web服務器如何促進今天全球性的Web應用程序。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/190865.html