详解Node.js实现301、302重定向服务

在Web应用中,有时会遇到页面需要Url重定向的情况。Url重定向分为301、302两种。301、302都是HTTP状态的编码,都代表着某个Url发生了转移。不同的是301重定向是永久的重定向(Moved Permanently),表示本网页永久性转移到另一个地址,搜索引擎在抓取新内容的同时也将旧的网址替换为重定向之后的网址。302重定向是临时的重定向(Moved Temporarily),表示本网页暂时性转移到另一个地址,搜索引擎会抓取新的内容而保留旧的网址。

可以用Nodejs的http模块,实现一个301或302重定服务,实现代码如下:

实现301重定向服务:

rush:js;"> 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打印结果为:

rush:plain;"> 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重定向服务:

rush:js;"> 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打印结果为:

rush:plain;"> 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

由上可见,浏览器会跟根据301302状态码,跳转Location对应的网址中。Node.js在设置301302状态时,还自动加入了Moved PermanentlyMoved Temporarily状态描述。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持编程之家。

相关文章

这篇文章主要介绍“基于nodejs的ssh2怎么实现自动化部署”的...
本文小编为大家详细介绍“nodejs怎么实现目录不存在自动创建...
这篇“如何把nodejs数据传到前端”文章的知识点大部分人都不...
本文小编为大家详细介绍“nodejs如何实现定时删除文件”,内...
这篇文章主要讲解了“nodejs安装模块卡住不动怎么解决”,文...
今天小编给大家分享一下如何检测nodejs有没有安装成功的相关...