URL重寫
此條目没有列出任何参考或来源。 (2022年7月31日) |
URL重寫(英語:URL Rewriting)是一種REST的相關技術,它可以在Web Server中,針對使用者所提供的URL進行轉換後,再傳入Web Server中的程式處理器。
範例
最常見的用法,就是將一組URL階層字串,轉換成帶有查询字符串(query string)的URL,或是反向轉換,例如: http://www.somebloghost.com/Blogs/Posts.php?Year=2006&Month=12&Day=10
經過URL重寫後,可以變成:
http://www.somebloghost.com/Blogs/2006/12/10/
另一個例子,下面的URL:
http://www.somehost.com/Blogs/2006/12/
經過URL重寫後,可轉換成:
http://www.somehost.com/Blogs.aspx?year=2006&month=12
因此,使用者可以使用較直覺的方式來輸入URL(這也是REST的主要目的),是搜尋引擎最佳化(SEO)的作法之一。而應用程式開發者可以利用這個機制來將參數隱藏起來,可避免讓網路上的惡意使用者收集到有利於發動攻擊的資訊。
支援URL Rewriting的處理引擎
- mod_rewrite (页面存档备份,存于互联网档案馆),Apache官方的URL Rewriting模組
- mod_alias(页面存档备份,存于互联网档案馆),Apache 1.3的URL別名模組
- URL Rewrite Module for IIS 7.0,由微軟官方發展
- IIS Mod-Rewrite。
- IISRewrite。
- ISAPI_Rewrite (页面存档备份,存于互联网档案馆)。
- URL Replacer (页面存档备份,存于互联网档案馆)。
- Ionic's ISAPI Rewrite Filter (IIRF),無須 .NET,免費的開放原始碼元件。
- .NET URL Rewriter and Reverse Proxy,免費的 URL Rewriting 與反向代理元件,支援 .NET 2.0/3.5,IIS 6.0/7.0。
- VirtualUrl.NET。
- UrlRewriter.NET (页面存档备份,存于互联网档案馆),免費的開放原始碼元件,支援.NET 1.1/2.0。
- URLRewriting.NET,免費的開放原始碼元件,ASP.NET 2.0適用。
- VirtualUrl.NET for ASP.NET 2。
J2EE Servlet
- HttpRedirectFilter (页面存档备份,存于互联网档案馆)(開放原始碼)。
- UrlRewriteFilter (页面存档备份,存于互联网档案馆)(開放原始碼-BSD)。
Lighttpd (lighty)
- mod_rewrite (页面存档备份,存于互联网档案馆)(lighttpd是一套開放原始碼的網頁伺服器)。