URL重寫




URL重寫就是首先獲得一個進入的URL請求然后把它重新寫成網站可以處理的另一個URL的過程。舉個例子來說,如果通過瀏覽器進來的URL是“UserProfile.aspx?ID=1”那么它可以被重寫成 “UserProfile/1.aspx”,這樣的URL,這樣的網址可以更好的被網站所閱讀。
如果瀏覽器不支持Cookie或用戶阻止了所有Cookie,可以把會話ID附加在HTML頁面中所有的URL上,這些頁面作為響應發送給客戶。這樣,當用戶單擊URL時,會話ID被自動作為請求行的一部分而不是作為頭行發送回服務器。這種方法稱為URL重寫(URL rewriting)。
一般來說,URL重寫是支持會話的非常健壯的方法。在不能確定瀏覽器是否支持Cookie的情況下應該使用這種方法。然而,使用URL重寫應該注意下面幾點:
1.如果使用URL重寫,應該在應用程序的所有頁面中,對所有的URL編碼,包括所有的超鏈接和表單的action屬性值。
2.應用程序的所有的頁面都應該是動態的。因為不同的用戶具有不同的會話ID,因此在靜態HTML頁面中無法在URL上附加會話ID。
3.所有靜態的HTML頁面必須通過Servlet運行,在它將頁面發送給客戶時會重寫URL。