详解Node.js实现301、302重定向服务
短信预约 -IT技能 免费直播动态提醒
在Web应用中,有时会遇到页面需要Url重定向的情况。Url重定向分为301、302两种。301、302都是HTTP状态的编码,都代表着某个Url发生了转移。不同的是301重定向是永久的重定向(Moved Permanently),表示本网页永久性转移到另一个地址,搜索引擎在抓取新内容的同时也将旧的网址替换为重定向之后的网址。302重定向是临时的重定向(Moved Temporarily),表示本网页暂时性转移到另一个地址,搜索引擎会抓取新的内容而保留旧的网址。
可以用Nodejs的http模块,实现一个301或302重定服务,实现代码如下:
实现301重定向服务:
var http = require('http');
var server = http.createServer(function (req, res) {
res.writeHead(301, {'Location': 'http://itbilu.com/'});
console.log(res._header);
res.end();
});
server.listen(3100)
Log打印结果为:
HTTP/1.1 301 Moved Permanently
Location: http://itbilu.com/
Date: Mon, 27 Apr 2015 05:39:47 GMT
Connection: keep-alive
Transfer-Encoding: chunked
实现302重定向服务:
var http = require('http');
var server = http.createServer(function (req, res) {
res.writeHead(302, {'Location': 'http://itbilu.com/'});
console.log(res._header);
res.end();
});
server.listen(3100)
Log打印结果为:
HTTP/1.1 302 Moved Temporarily
Location: http://itbilu.com/
Date: Mon, 27 Apr 2015 05:40:51 GMT
Connection: keep-alive
Transfer-Encoding: chunked
由上可见,浏览器会跟根据301和302状态码,跳转到Location对应的网址中。Node.js在设置301和302状态时,还自动加入了Moved Permanently或Moved Temporarily状态描述。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持编程网。
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341