URL redirection,或称网址重定向或URL重定向,是指当使用者浏览某个网址时,将他导向到另一个网址的技术。常用在把一串很长的网站网址,转成较短的网址。因为当要传播某网站的网址时,常常因为网址太长,不好记忆;又有可能因为换了网络的免费网页空间,网址又必须要变更,不知情的使用者还以为网站关闭了。这时就可以用网络上的转址服务了。这种方法还可以用在广告推送及拦截上, 最常见的就是电信使用的了。
在技术上, URL重定向可以很多种方法实现, 下面介绍其中常用的几种.
方法一:
通过返回一个简单的HTML页面, 采用自刷新方式,将页面重新引至新URL页面. 示例:
<html><head>
<meta http-equiv="Refresh" content="0; url=http://www.example.com/">
</head><body>
<p>Please follow <a href="http://www.example.com/">link</a>!</p>
</body></html>
方法二:
通过返回一个HTTP refresh header, 进行重定向. 示例:
HTTP/1.1 200 ok
Refresh: 0; url=http://www.example.com/
Content-type: text/html
Content-length: 78
Please follow <a href="http://www.example.com/">link</a>!
方法三:
通过HTTP 状态码301 Moved Permanently 永久重定向, 示例:
HTTP/1.1 301 Moved Permanently
Location: http://www.example.org/
Content-Type: text/html
Content-Length: 174
<html>
<head>
<title>Moved</title>
</head>
<body>
<h1>Moved</h1>
<p>This page has moved to <a href="http://www.example.org/">http://www.example.org/</a>.</p>
</body>
</html>
经过个人测试, 发现采用HTTP 状态码301 Moved Permanently方式速度比较快.
以下是内核实现源码, 测试的时候有个小bug 把mac地址填错了, 结果调试了N久,还发帖了, 最终自己才发现, 真是惭愧.
参考:
URL redirection http://en.wikipedia.org/wiki/URL_redirection
分享到:
相关推荐
在Linux内核中实现URL重定向,需要对网络协议栈有深刻的理解,包括IP层、TCP层以及HTTP协议的交互。通常,这样的功能会通过网络过滤(如Netfilter或iptables)或者网络驱动程序来实现,通过对网络数据包进行深度检测...
若要在网络设备(netdev)中实现对所有HTTP请求的重定向,则该设备需具备以下功能:拦截客户端发往Internet的HTTP请求,并向客户端返回包含“302 Moved Temporarily”或“301 Moved Permanently”状态码以及重定向...
在Linux操作系统中对任意HTTP请求进行重定向是一种常见的网络管理技术,主要用于网站迁移、URL纠错、负载均衡等场景。本文将详细讨论这一技术的原理、实现方法以及如何在Linux环境中运用。 1. 重定向原理 HTTP...
因此,BT传输过程中存在一些特有的特征字符串,如Tracker服务器的URL、BT协议头信息等。通过分析这些特征,可以在Iptables中建立识别规则库,准确识别BT流量。 实现BT流量控制的具体步骤包括: 1. 分析BT协议和实际...
URL 重定向是通过HTTP协议中的`Location`字段来实现的。这种方法简单,但存在局限性,如无法确保重定向到的服务器空闲,可能导致浏览器死循环,以及管理多URL时的复杂性。 软件负载均衡的其他常见方法还包括: - *...
LVS通过在Linux内核级别实现负载均衡,可以高效处理大规模并发连接。LVS支持多种负载均衡算法,包括轮询(Round Robin)、最少连接(Least Connections)等。 ##### 2.4 专业负载均衡软件 除了上述方法外,还有许多...
本发明的核心在于在ADSL无线路由器的Linux内核中集成了一个强制门户单元,使得在桥接模式下的无线路由器也能提供强制门户服务。 详细知识点如下: 1. ADSL无线路由器:ADSL(Asymmetric Digital Subscriber Line)...
在用户发起一个URL请求时,Struts2容器开始执行一系列操作: 1. **过滤器Dispatcher**:Struts2的核心是`FilterDispatcher`或其升级版`StrutsPrepareAndExecuteFilter`,这个过滤器负责拦截所有的HTTP请求。当请求...
本文将详细介绍如何在微信环境中实现从微信浏览器打开外部浏览器,并提供相应的解决方案。 首先,我们要理解微信浏览器与外部浏览器的区别。微信浏览器基于自家的X5 Blink内核,它在处理某些网页交互和JavaScript...
包括条件检查、URL重定向、缓存控制、日志记录和统计分析等高级特性,ISAPI_Rewrite3为开发者提供了全面的工具来管理和优化网站。 8. **技术支持** Helicon Tech提供详尽的文档、在线教程和社区支持,帮助用户...
1. **URL跳转查看**:在开发过程中,HttpWatch能够记录每一次URL的跳转,这对于跟踪网页导航路径和诊断重定向问题至关重要。它可以显示每个请求的完整URL、状态码、响应时间等信息,帮助开发者快速定位导致页面加载...
这段代码首先检查浏览器是否处于离线模式或者使用了Webkit内核(如Safari或iOS的WKWebView),如果是,则直接使用`window.location`重定向到URL scheme。否则,它会在页面中添加一个隐藏的iframe,通过iframe的src...
NDIS Hooking技术是内核态截包技术中的一个重要分支,它通过在NDIS层面上“挂钩”系统的核心网络处理过程来实现数据包的拦截,使得开发者可以在数据包到达更高层级的网络协议栈之前捕获和修改数据包。 在研究...
1. URL重定向:通过修改HTTP请求的URL,将流量导向不同的服务器,适用于Web服务场景。 2. 基于DNS的负载均衡:通过DNS服务器动态返回不同后端服务器的IP地址,达到负载均衡的效果。 3. 专业负载均衡软件:除了LVS...
首先,浏览器工作原理可以分为以下几个步骤:输入 URL、发送至 DNS 服务器并获得域名对应的 WEB 服务器 IP 地址、与 WEB 服务器建立 TCP 连接、服务器的永久重定向响应、浏览器跟踪重定向地址、服务器处理请求、...
在本资源"C# MVC网站截图源码.rar"中,我们可以深入探讨C#编程语言与ASP.NET MVC框架在实现网站截图功能上的技术细节。网站快照是互联网应用中的一个重要功能,它能够捕获网页的静态图像,这对于记录网页状态、提供...
6. **自定义渲染和处理**:开发者可以通过重写特定的接口,实现自定义的HTTP请求处理、URL重定向、甚至自定义渲染行为,从而满足特定的应用场景需求。 7. **性能和稳定性**:CefSharp v51基于较新的CEF版本,提供了...
1. **URL重写**:通过配置文件,ISAPI_Redirector_2可以处理IIS的URL请求,根据预设规则将内部或外部URL重定向,这对于SEO优化和复杂的应用路由非常有用。 2. **JK模块集成**:ISAPI_Redirector_2与Apache的JK模块...
在这个项目中,它可能被用来实现URL美化,隐藏index.php或者设置其他安全策略。 `web.config`则是IIS(Internet Information Services)服务器的配置文件,与`.htaccess`类似,用于调整站点的配置,如重定向、权限...