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是一套开放原始码的网页伺服器)。