WEB 伺服器
必須先依據預先定義的過濾及驗證規則與程序集,將 URL 正常化,然後「網站」規則才能套用於進入的 URL。這些程序會將 URL 回復成安全套表,然後才會傳送到應用程式以進行處理。一旦 URL 已正常化,HTTP 作業會使用網站定義的規則來決定是否要以任何方式修改 URL。
附註 在型樣比對中只使用 URL 路徑。儲存查詢字串以供應用程式使用。您在規則的「進入的 URL 型樣」欄位中所指定的任何型樣,不應含有主電腦名稱或查詢字串。
共有四種類型的「網站」規則。如果已在「網站」文件中建立多種類型的「網站」規則,則會依照下列次序評估規則文件:
替換規則會以新字串取代進入 URL 的一或多個部份。當您想要重組網站,但不想重寫站台中的所有連結時,或當您想要提供複雜 URL 的使用者友善別名時,應該使用替換規則。
例如,如果您在網站上,將許多檔案從某一目錄移至另一目錄,則替換規則是很有用的。不需要修正參照舊目錄的所有連結,替換規則會將舊目錄對映到新目錄。
替換規則中的進入型樣與取代型樣必須個別指定至少一個萬用字元。如果您沒有在型樣中明確地併入萬用字元,則 HTTP 作業在內部表格中儲存規則時,會將 "/*" 自動附加到型樣中。
重新導向規則
重新導向規則會將進入的 URL 重新導向至其他 URL。用兩種類型的重新導向規則: 外部重新導向與內部重新導向。外部重新導向規則會讓伺服器告知瀏覽器,表示瀏覽器所要求的檔案或其他資源是位在另一個 URL。如果進入的 URL 路徑符合外部重新導向規則,則 HTTP 作業會依據重新導向型樣產生新的 URL,並立即將該 URL 傳回瀏覽器。使用外部重新導向規則可以讓現存的連結與書籤繼續運作,但請確定新書籤是導向新位置。
內部重新導向規則的作用類似替換規則,HTTP 作業會產生新的 URL 並重新正常化該 URL。但有兩點不同。第一,重新導向表格的搜尋是一種遞迴方式,所以您可以建立並巢狀化多個重新導向規則。第二,內部重新導向規則不需要使用萬用字元。因此,如果您想要在 URL 路徑中強制執行完全符合,請選擇使用內部重新導向規則而非替換規則。
如果進入的 URL 路徑符合內部重新導向規則,則 HTTP 作業會產生新路徑、正常化路徑並重新搜尋重新導向規則表。因為 HTTP 作業會在重新導向規則表中執行遞迴搜尋,所以不論是否已套用替換或重新導向,您都可以撰寫大量重新導向規則以擷取 URL。
附註 具有遞迴搜尋表示如果您撰寫彼此相符的重新導向規則,則有可能會進入無限迴圈。若要消除此可能性,HTTP 作業將內建遞迴限制為 10。
在重新導向規則中容許使用萬用字元,但不是必要的。
目錄規則
目錄規則會將檔案系統目錄對映到 URL 型樣。當 Web 伺服器接受符合型樣的 URL 時,伺服器會假設 URL 正在要求該目錄中的資源。
當您安裝 Domino 6 Web 伺服器時,即會自動建立數個檔案資源目錄。這些預設目錄會依照目錄規則加以對映,目錄規則定義於「網站」文件的「配置」標籤中。當 Web 伺服器啟動時,它會自動建立內部規則以將這些目錄對映到 URL 型樣。三種預設目錄為:
當您建立「目錄網站」規則時,請指定檔案系統目錄的讀取或執行使用權。選擇正確的使用權是非常重要的。只有在含有 CGI 程式的目錄中才能啟動「執行」使用權。所有其他目錄應具有「讀取」使用權。如果您指定了錯誤的使用權層次,則會發生未預期的結果。例如,如果您為「讀取」使用權標示 CGI 目錄,則在瀏覽器使用者傳送 CGI 程式的 URL 時,伺服器會傳回程式的原始碼而不是執行它,這是一個嚴重的安全漏洞。
目錄規則不能複寫作業系統強制執行的檔案使用權。
附註 指定目錄下的所有子目錄均會繼承該使用權層次。
HTTP 回應頁眉規則
每一個 HTTP 瀏覽器要求及伺服器回應都會以一組說明傳輸資料的頁眉開始。HTTP 回應頁眉規則可以讓應用程式設計師自訂 Domino 傳送的頁眉 (如「到期」頁眉或自訂 HTTP 回應的頁眉),以回應符合指定的 URL 型樣的要求。
使用回應規則最重要的是可以增進瀏覽器快取的效能。應用程式設計師可以新增頁眉,提供瀏覽器有關要快取的資料變化性之重要資訊。
快取頁眉包括「前次修改」頁眉、「到期」頁眉與「快取控制」頁眉。「前次修改」頁眉會指出用來產生回應的一或多個資源的前次變更時間。「到期」頁眉會告知瀏覽器資源預期變更的時間。設計師可以定義到新增到「到期」頁眉中的規則,以依據設計師預期資源變更的時間來回應。「快取控制」頁眉對瀏覽器與 proxy 伺服器快取提供明確的指示,例如,在不應快取的回應中提供「不快取」,或在可快取、但為特定瀏覽器配置專用的回應中提供「專用」。
您也可以使用回應規則來自訂頁眉。例如,您可以在顯示特定錯誤訊息的自訂頁眉中建立回應規則-例如,當使用者未被授權存取應用程式時。
與其他的網站規則不同,回應規則會在 HTTP 作業傳輸回應給瀏覽器之前,套用於外送的回應。針對回應頁眉規則,在套用了替換與重新導向規則後,型樣會符合最後的 URL 套表。例如,如果您有一個將 /help/* 傳送至 /support.nsf/helpview/* 的替換規則,且您想要建立回應規則以符合回應,則回應規則的型樣應為 /support.nsf/helpview/*。
型樣可以含有一或多個星號作為萬用字元。例如,型樣 /*/catalog/*.htm 會符合 URL /petstore/catalog/food.htm、/clothing/catalog/thumbnails.htm 等等。在回應規則中不需要萬用字元。這可讓您建立符合特定資源的規則,例如,/cgi-bin/account.pl。同時,在使用所有規則時,進入的型樣不能含有查詢字串。
回應頁眉規則與其他規則不同,它們不僅必須符合 URL 型樣,還必須符合 HTTP 回應狀態碼。您必須在 HTTP 回應碼欄位中指定一或多個狀態碼。
全域 Web 設定
「全域 Web 設定」可讓您將 Web 規則套用於多個網站。請定義「全域 Web 設定」文件的名稱,並指定套用「全域 Web 設定」的伺服器。然後,您可以建立「全域 Web 設定」文件的「Web 規則」文件。然後,Web 規則即會套用到由「全域 Web 設定」文件中指定的伺服器所主控的所有網站。
「全域 Web 設定」文件及相關的「網站」規則文件並不會自動建立。如果您要在 Web 環境中使用「全域 Web 設定」文件及「網站」規則,則必須手動建立它們。
另請參閱