应用层重定向主要利用了HTTP、MMS、RTSP等协议本身的重定向机制来实现,由于各种应用层协议的重定向机制基本相同,因此以HTTP协议为例,介绍相关的知识。
1. HTTP重定向基本原理
在HTTP协议中,有三类重定向状态码:301 redirect、302 redirect与meta fresh。
1)301 redirect代表永久性转移(Permaneutly Moved)
2)302 redirect代表暂时性转移(Temporarily Moved)
3)meta fresh代表在特定时间后重定向到新的网页。
HTTP状态代码是在服务器返回数据的第一行实现的,比如你访问www.g.cn这个网址.Google的服务器返回的数据第一行是:HTTP/1.1 301 Moved Permanently,页面自动眺转到http://www.google.cn,表示g.cn这个URL被永久重定向到http://www.google.cn。
三类重定向的作用都是将用户的资源请求转向到另外一个URL,而这一节所说的HTTP重定向,是用于CDN均衡调度的,显然应该选择302 redirect。因为负载均衡系统需要实现的是将用户立刻且暂时性地重定向到另一台服务设备上去。
比如浏览器请求www.tanxingcai.com这个域名,服务器返回应答消息如下:
HTTP/1.1 302 Found
Date: Wed, 17 Mar 2010 08:11:11 GMT