概念——URL 重写(URL Rewriting)
本文内容
- 示例
- 支持 URL 重写处理引擎
- 参考
URL 重写(URL Rewriting)是一种 REST 相关技术,它可以在 Web 服务中,针对使用者所提供的 URL 进行转换后,再传入 Web 服务处理引擎。
REST
表征状态转移(Representational State Transfer,REST)是 Roy Fielding 在 2000 年他的博士论文中提出来的一种软件架构风格。REST 从资源角度来观察整个网络,资源由通用资源标志符(Uniform Resource Identifier,URI)确定,客户端应用通过 URI 获取资源的表征,这些表征会使应用程序转变其状态。随着不断地获得资源表征,客户端应用也不断地转变其状态,这就是 REST。
这个观点不是凭空想出来的,而是通过观察当前 Web 互联网的运行方式抽象出来的。Roy Fielding 认为“ 设计良好的网络应用表现为一系列的网页,网页可以看作是虚拟状态机,用户选择链接将使网页传输到客户端,并展现给用户,而这会导致状态的转变。”
示例
最常见的是,将一组 URL 阶层字串,转换成带有查询字符串的 URL,或是反向转换。如下所示:
有链接
http://www.somebloghost.com/Blogs/Posts.php?Year=2006&Month=12&Day=10
URL 重写转换成:
http://www.somebloghost.com/Blogs/2006/12/10/
或反向。有链接
http://www.somehost.com/Blogs/2006/12/
URL 重写转换成:
http://www.somehost.com/Blogs.aspx?year=2006&month=12
因此,使用者可以使用较直觉的方式来输入 URL(这也是 REST 的主要目的),是搜寻引擎最佳化(SEO)的作法之一。而应用程式开发者可以利用这个机制来将参数隐藏起来,可避免让网络上的恶意使用者收集到有利于发动攻击的资讯。
SEO
搜索引擎优化(Search Engine Optimization,SEO)的目的是增加特定关键字的曝光率以增加网站的能见度。分为站外 SEO 和站内 SEO。SEO 主要工作,是通过了解各类搜索引擎如何抓取页面、索引和确定对某一关键词排名等技术,对网页进行优化,提高搜索引擎排名,从而提高网站访问量。
支持 URL 重写处理引擎
- Apache HTTP Server
- Microsoft Internet Information Server (IIS)
- J2EE Servlet