跳至內容
主選單
主選單
移至側邊欄
隱藏
導覽
首頁
近期變更
隨機頁面
MediaWiki說明
Taiwan Tongues 繁中維基
搜尋
搜尋
外觀
建立帳號
登入
個人工具
建立帳號
登入
檢視 網路伺服器目錄索引 的原始碼
頁面
討論
臺灣正體
閱讀
檢視原始碼
檢視歷史
工具
工具
移至側邊欄
隱藏
操作
閱讀
檢視原始碼
檢視歷史
一般
連結至此的頁面
相關變更
特殊頁面
頁面資訊
外觀
移至側邊欄
隱藏
←
網路伺服器目錄索引
由於以下原因,您無權編輯此頁面:
您請求的操作只有這些群組的使用者能使用:
使用者
、taigi-reviewer、apibot
您可以檢視並複製此頁面的原始碼。
當一個 HTTP 用戶端(通常是網頁瀏覽器)請求一個指向目錄結構而非該結構中實際網頁的 URL 時,網頁伺服器通常會提供一個預設頁面,這個頁面常被稱為主頁面或「索引」頁面。 這類頁面的常見檔名是 `index.html`,但多數現代 HTTP 伺服器都提供一個可設定的檔名列表,讓伺服器能將這些檔案作為索引使用。若伺服器設定為支援伺服器端指令碼,該列表通常會包含允許使用動態內容作為索引頁面的項目(例如 `index.cgi`、`index.pl`、`index.php`、`index.shtml`、`index.jsp`、`default.asp`),即使更恰當的做法可能仍是指定 HTML 輸出(`index.html.php` 或 `index.html.aspx`),因為這點不該被視為理所當然。一個例子是廣受歡迎的開源網頁伺服器 Apache,其檔名列表是由主伺服器設定檔或該目錄設定檔中的 DirectoryIndex 指令所控制。完全不使用副檔名,對內容傳遞方式保持中立,並設定伺服器透過內容協商自動挑選最佳檔案,也是可行的作法。 如果伺服器在其設定中找不到任何列表中的檔案名稱,它可能會回傳一個錯誤(通常是 403 禁止索引列表或 404 找不到頁面),或是產生一個列出目錄中檔案的索引頁面。這個選項通常稱為 `autoindex`,並且也是可設定的。 ==歷史== 網頁伺服器為每個子目錄提供預設檔案的機制,最早在 NCSA HTTPd 0.3beta(1993年4月22日)中就已支援,其預設會在目錄中提供 `index.html` 檔案。此機制後來被 CERN HTTPd 採用,至少從 2.17beta 版本(1994年4月5日)開始,其預設除了支援源自 NCSA 的 `index.html` 外,還支援 `Welcome.html` 和 `welcome.html`。 後來的網頁伺服器通常都以某種形式支援這種預設檔案機制;這通常是可設定的,而 `index.html` 則是預設檔名之一。 ==實作== 在某些情況下,網站的首頁可能是一個語言選項選單,適用於使用地理定位的大型網站。透過內容協商等方式,也可以避免這個步驟。 當給定目錄中不存在任何已知的 `index.*` 檔案時,網頁伺服器可以被設定為提供一個自動產生的目錄內檔案列表。以 Apache 網頁伺服器為例,此行為由 mod_autoindex 模組提供,並由網頁伺服器設定檔中的 `Options +Indexes` 指令控制。這些自動產生的目錄列表有時會帶來安全風險,因為它們會列舉出可能不應對外公開的敏感檔案,此過程被稱為目錄索引攻擊。這樣的安全性設定錯誤也可能助長其他攻擊,例如路徑遍歷攻擊或目錄遍歷攻擊。 ==效能== 當存取一個目錄時,各種可用的索引方法可能對作業系統資源(RAM、CPU 時間等)的使用產生不同影響,進而影響網頁伺服器的效能。 以下列表由最快到最慢的方法排序: * 使用靜態索引檔案,例如:`index.html` 等; * 使用網頁伺服器通常名為 autoindex 的功能(當索引檔案不存在時),讓網頁伺服器透過其內部模組自動產生目錄列表; * 使用由網頁伺服器內部程式直譯器讀取的直譯式檔案,例如:`index.php`; * 使用 CGI 可執行檔與已編譯程式,例如:`index.cgi`。 ==參考資料== [[分類: 待校正]]
返回到「
網路伺服器目錄索引
」。