详解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 面向对象思想 附源码
Jul 07 Javascript
jquery1.4后 jqDrag 拖动 不可用
Feb 06 Javascript
javascript学习笔记(十七) 检测浏览器插件代码
Jun 20 Javascript
JavaScript输出当前时间Unix时间戳的方法
Apr 06 Javascript
JQuery实现样式设置、追加、移除与切换的方法
Jun 11 Javascript
内容滑动切换效果jquery.hwSlide.js插件封装
Jul 07 Javascript
BooStrap对导航条的改造实践小结
Sep 21 Javascript
详解Angular4中路由Router类的跳转navigate
Jun 09 Javascript
Angular CLI在Angular项目中如何使用scss详解
Apr 10 Javascript
JavaScript前端页面搜索功能案例【基于jQuery】
Jul 10 jQuery
微信小程序如何实现点击图片放大功能
Jan 21 Javascript
JavaScript Date对象功能与用法学习记录
Apr 28 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
php MySQL与分页效率
2008/06/04 PHP
PHP IPV6正则表达式验证代码
2010/02/16 PHP
PHP删除数组中的特定元素的代码
2012/06/28 PHP
PHP中文竖排转换实现方法
2015/10/23 PHP
php中strlen和mb_strlen用法实例分析
2016/11/12 PHP
Laravel 5.5官方推荐的Nginx配置学习教程
2017/10/06 PHP
浅谈php调用python文件
2019/03/29 PHP
jQuery控制输入框只能输入数值的小例子
2013/03/20 Javascript
jQuery实现文件上传进度条特效
2015/08/12 Javascript
基于javascript制作经典传统的拼图游戏
2016/03/22 Javascript
AngularJS 输入验证详解及实例代码
2016/07/28 Javascript
详解PHP中pathinfo()函数导致的安全问题
2017/01/05 Javascript
jQuery自定义图片上传插件实例代码
2017/04/04 jQuery
JS简单获取日期相差天数的方法
2017/04/24 Javascript
对象不支持indexOf属性或方法的解决方法(必看)
2017/05/28 Javascript
node.js实现的装饰者模式示例
2017/09/06 Javascript
vue中父子组件注意事项,传值及slot应用技巧
2018/05/09 Javascript
微信小程序 子级页面返回父级并把子级参数带回父级实现方法
2019/08/22 Javascript
jquery实现图片无缝滚动 蒙版遮蔽效果
2020/01/11 jQuery
小程序自定义圆形进度条
2020/11/17 Javascript
Vue组件生命周期运行原理解析
2020/11/25 Vue.js
[00:12]2018DOTA2亚洲邀请赛 Sccc亮相SOLO赛,今年他又会有什么样的战绩?
2018/04/06 DOTA
Python探索之Metaclass初步了解
2017/10/28 Python
用tensorflow搭建CNN的方法
2018/03/05 Python
python numpy和list查询其中某个数的个数及定位方法
2018/06/27 Python
使用Python Pandas处理亿级数据的方法
2019/06/24 Python
HTML5之SVG 2D入门10—滤镜的定义及使用
2013/01/30 HTML / CSS
The Athlete’s Foot新西兰:新西兰最大的运动鞋零售商
2019/12/23 全球购物
回门宴答谢词
2014/01/13 职场文书
自我鉴定 电子商务专业
2014/01/30 职场文书
班组长竞聘书
2014/03/31 职场文书
《桥》教学反思
2014/04/09 职场文书
个人租房协议书
2014/11/28 职场文书
2014年银行信贷员工作总结
2014/12/08 职场文书
2016年先进教师个人事迹材料
2016/02/26 职场文书
基于Python实现股票收益率分析
2022/04/02 Python