Apache面試題

1、HTTP的四個版本

  • 0.9版本:僅支持HTML文本頁面;
  • 1.0版本:引入了MIME機制、keep-alive機制、支持頁面緩存功能;
  • 1.1版本:1.0的版本升級,支持更多的請求鏈接方式、優化了持久鏈接、優化了頁面緩存;
  • 2.0版本:提供了http語義優化,增長了spdy技術;
    目前比較經常使用的1.0版本和1.1版本。

2、常見的網頁類型

  • 靜態頁面:由開發人員事先編寫完成,存放在本地文件系統中、響應速度快、頁面維護比較麻煩、數據交互性差、容易被搜索引擎收錄;
  • 動態頁面:WEB服務器自己並不處理請求,而是把請求轉交給後端的解釋器。頁面數據多變、維護簡單、響應速度慢,不能被搜索引擎收錄;
  • 僞靜態頁面:將動態頁面轉換爲靜態頁面,能夠被搜索引擎收錄;

3、有關HTTP協議的報文

  • 請求報文:請求行+請求首部+空白行+請求實體
    客戶端→服務端
  • 響應報文:起始行+響應首部+空白行+響應實體
    服務端→客戶端

常見的狀態碼:
正常的狀況:200訪問成功、201上傳成功、301永久重定向、302臨時重定向、304資源在轉發過程當中沒有被修改;
不正常的狀況:401網頁認證失敗、403權限被拒絕、404資源未找到、503服務不可用apache

4、Apache是什麼

apache http服務器是一個模塊化的服務器,能夠運行在幾乎全部普遍使用的計算機平臺上,其屬於應用服務器,apache支持模塊多,性能穩定,apache自己是靜態解析,適合靜態HTML、圖片等,能夠經過擴展腳本、模塊等支持動態頁面等後端

5、Apache的特性

1.支持最新的HTTP/1.1通訊協議;
2.擁有簡單而強有力的基於文件的配置過程;
3.支持通用網關接口;
4.支持基於基於IP和域名的虛擬主機;
5.支持多種方式的HTTP認證;
6.集成Perl處理模塊;
7.集成代理服務器模塊;
8.支持實時監視服務器狀態和定製服務器日誌;
9.支持服務器端指令(SSI);
10.支持安全Socket層(SSL);
11.提供用戶會話過程的跟蹤;
12.支持FastCGI;
13.經過第三方模塊能夠支持JavaServlets;瀏覽器

6、Apache、Nginx、Tomcat的區別:

Apache:支持模塊較多、採用servlet處理模型、同步阻塞模型、工做模式多變、運行穩定;
Nginx:輕量級服務器、支持的模塊少,須要第三方模塊支持、採用epoll處理模型、異步非阻塞型、適合高併發的場景;
Tomcat:主要用於解析JAVA緣由所編寫的網頁、程序;緩存

查看Apache的工做模式:httpd -V 或 apachectl -V
查看Apache所加載的模塊:httpd -M 或 apachectl -M安全

7、Apache的工做模式:

  • prefork(預派生子進程):一個子進程對應一個線程,默認開啓5個子進程,消耗系統資源比較多,併發量低,工做效率高;
  • worker(多進程+多線程):支持併發鏈接大,可以充分利用系統資源,對持久鏈接釋放速度比較慢,默認開啓3個子進程;
  • event(多進程+多線程+epoll處理模型):結合prefork和work工做模型,優化了持久鏈接釋放速度慢的配置,對https支持不太友好;

8、進程和線程的區別:

進程是指進程內的一個執行單元,也是進程內的可調度實體;
每一個線程都有對應的進程,每一個進程下能夠有多個線程,可是最少有一個線程,每一個線程共享其父進程地址空間,不能共享其餘進程的地址空間服務器

線程是處理調度器的基本單元,可是進程不是,兩者都可併發執行多線程

一個程序至少有一個進程,一個進程至少有一個線程併發

9、能夠從那些方面對Apache進行優化

  • 根據實際狀況選擇Apache的工做模式;
  • 開啓Apache的Gzip(deflate)功能;
  • 對Apache進行緩存設置;
  • 禁止對Apache目錄遍歷;
  • 隱藏Apache版本信息;
  • 對Apache日誌進行分割;
  • 配置Apache防盜鏈;

10、Apache經常使用的模塊

1.SSO Module - LemonLDAP
LemonLdap 是 Apache 的一個實現了 Web SSO(單點登陸) 的模塊,可處理超過 20 萬的用戶;
2.併發限制模塊 - limitipconn
limitipconn 是一個 Apache 的模塊,用來限制每一個 IP 的併發鏈接數;
3.日誌監控模塊
Apache Live Log 是一個 Perl 編寫的模塊,能夠在瀏覽器上直接實時的經過 Ajax 技術瀏覽和監控 Apache 的 日誌文件;
4.負載均衡模塊
定義了每一個請求的HTTP重定向在一個異構的Apache服務器羣集;
5.圖像處理模塊
mod_gfx 是一個對圖像進行即時處理的 Apache 模塊,提供不少靈活的接口;
6.壓縮模塊
mod-gzip-disk 是一個使用磁盤進行存儲預壓縮頁面的 Apache 模塊,與 mod-gzip 不一樣的是不須要每次請求的時候從新壓縮;
7.音樂模塊
mod_musicindex 是一個 Apache 用來處理音頻文件的模塊;
8.LDAP 認證模塊
mod_psldap 是 Apache 用來執行 LDAP 認證和受權的模塊;
9.帶寬限制模塊
mod_cband是一個用來限制請求佔用帶寬的Apache模塊;
10.CGI V8 引擎包
v8cgi 是一個很小的 C ++ 和 JS 文件集合,容許開發者在服務器端使用 JS 的模塊;負載均衡

未完待續………………………………異步

相關文章
相關標籤/搜索