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