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


Posted in Javascript onApril 07, 2017

在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

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

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
利用javascript中的call实现继承
Jan 22 Javascript
从父页面读取和操作iframe中内容方法
Jul 25 Javascript
Javascript 解疑
Nov 11 Javascript
游览器中javascript的执行过程(图文)
May 20 Javascript
正负小数点后两位浮点数实现原理及代码
Sep 06 Javascript
js换图片效果可进行定时操作
Jun 09 Javascript
JS+CSS实现经典的左侧竖向滑动菜单效果
Sep 23 Javascript
如何动态加载外部Javascript文件
Dec 02 Javascript
AngularJs IE Compatibility 兼容老版本IE
Sep 01 Javascript
Vue iview-admin框架二级菜单改为三级菜单的方法
Jul 03 Javascript
2种在vue项目中使用百度地图的简单方法
Sep 28 Javascript
原生JS利用transform实现banner的无限滚动示例代码
Jun 15 Javascript
Express URL跳转(重定向)的实现方法
Apr 07 #Javascript
微信小程序 首页制作简单实例
Apr 07 #Javascript
微信小程序 商城开发(ecshop )简单实例
Apr 07 #Javascript
js控制文本框禁止输入特殊字符详解
Apr 07 #Javascript
ES6学习笔记之Set和Map数据结构详解
Apr 07 #Javascript
Vue表单验证插件Vue Validator使用方法详解
Apr 07 #Javascript
js 数字、字符串、布尔值的转换方法(必看)
Apr 07 #Javascript
You might like
利用文件属性结合Session实现在线人数统计
2006/10/09 PHP
一周让你学会PHP 不错的学习资料
2009/02/06 PHP
php数组索引与键值操作技巧实例分析
2015/06/24 PHP
PHP+iframe图片上传实现即时刷新效果
2016/11/18 PHP
070823更新的一个[消息提示框]组件 兼容ie7
2007/08/29 Javascript
用js遍历 table的脚本
2008/07/23 Javascript
js 禁用浏览器的后退功能的简单方法
2008/12/10 Javascript
jQuery中创建实例与原型继承揭秘
2011/12/21 Javascript
js中判断数字\字母\中文的正则表达式 (实例)
2012/06/29 Javascript
javascript中的startWith和endWith的几种实现方法
2013/05/07 Javascript
Jquery中"$(document).ready(function(){ })"函数的使用详解
2013/12/30 Javascript
浅析javascript中的事件代理
2015/11/06 Javascript
JS/jQ实现免费获取手机验证码倒计时效果
2016/06/13 Javascript
jQuery多级联动下拉插件chained用法示例
2016/08/20 Javascript
探究Vue.js 2.0新增的虚拟DOM
2016/10/20 Javascript
vue引入ueditor及node后台配置详解
2018/01/03 Javascript
ajax与jsonp的区别及用法
2018/10/16 Javascript
js实现列表按字母排序
2020/08/11 Javascript
vue 中使用print.js导出pdf操作
2020/11/13 Javascript
[01:20]DOTA2 齐天大圣至宝动态展示
2016/12/13 DOTA
[10:21]DOTA2-DPC中国联赛 正赛 PSG.LGD vs Aster 选手采访
2021/03/11 DOTA
使用 Python 获取 Linux 系统信息的代码
2014/07/13 Python
python实现的简单FTP上传下载文件实例
2015/06/30 Python
python 3.6.4 安装配置方法图文教程
2018/09/18 Python
python flask web服务实现更换默认端口和IP的方法
2019/07/26 Python
python“静态”变量、实例变量与本地变量的声明示例
2020/11/13 Python
python字典与json转换的方法总结
2020/12/28 Python
CSS+jQuery+PHP+MySQL实现的在线答题功能
2015/04/25 HTML / CSS
详解如何解决canvas图片getImageData,toDataURL跨域问题
2018/09/17 HTML / CSS
莫斯科高科技在线商店:KremlinStore
2019/03/13 全球购物
优秀教师获奖感言
2014/01/31 职场文书
教师查摆问题及整改措施
2014/10/11 职场文书
先进班组事迹材料
2014/12/25 职场文书
幼儿园托班开学寄语(2016春季)
2015/12/03 职场文书
导游词之泰山玉皇顶
2019/12/23 职场文书
【海涛教你打DOTA】死灵飞龙第一视角解说
2022/04/01 DOTA