详解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 相关文章推荐
IE 条件注释详解总结(附实例代码)
Aug 29 Javascript
jQuery实现的立体文字渐变效果
May 17 Javascript
JavaScript中几个重要的属性(this、constructor、prototype)介绍
May 19 Javascript
指定区域的图片自动按比例缩小的js代码(防止页面被图片撑破)
Feb 21 Javascript
jQuery的ajax和遍历数组json实例代码
Aug 01 Javascript
Javascript动画效果(1)
Oct 11 Javascript
微信和qq时间格式模板实例详解
Oct 21 Javascript
React学习笔记之条件渲染(一)
Jul 02 Javascript
JS实现自定义状态栏动画文字效果示例
Oct 12 Javascript
mock.js实现模拟生成假数据功能示例
Jan 15 Javascript
VSCode使用之Vue工程配置eslint
Apr 30 Javascript
vue-cli4.x创建企业级项目的方法步骤
Jun 18 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实现链式操作的原理详解
2016/09/16 PHP
PHP实现根据数组某个键值大小进行排序的方法
2018/03/13 PHP
Extjs根据条件设置表格某行背景色示例
2014/07/23 Javascript
JavaScript如何获取数组最大值和最小值
2015/11/18 Javascript
js编写贪吃蛇的小游戏
2020/08/24 Javascript
Angular中$compile源码分析
2016/01/28 Javascript
jQuery基础的工厂函数以及定时器的经典实例分析
2016/05/20 Javascript
用jquery获取自定义的标签属性的值简单实例
2016/09/17 Javascript
js通过指定下标或指定元素进行删除数组的实例
2017/01/12 Javascript
fckeditor部署到weblogic出现xml无法读取及样式不能显示问题的解决方法
2017/03/24 Javascript
layui表格实现代码
2017/05/20 Javascript
jQuery的时间datetime控件在AngularJs中的使用实例(分享)
2017/08/17 jQuery
node.js用fs.rename强制重命名或移动文件夹的方法
2017/12/27 Javascript
JS使用Prim算法和Kruskal算法实现最小生成树
2019/01/17 Javascript
Vue指令v-for遍历输出JavaScript数组及json对象的常见方式小结
2019/02/11 Javascript
浅谈layui 绑定form submit提交表单的注意事项
2019/10/25 Javascript
webpack4 optimization使用总结
2019/11/10 Javascript
jQuery实现简易QQ聊天框
2020/02/10 jQuery
使用Python来编写HTTP服务器的超级指南
2016/02/18 Python
Python用户推荐系统曼哈顿算法实现完整代码
2017/12/01 Python
python pandas 对series和dataframe的重置索引reindex方法
2018/06/07 Python
基于python实现名片管理系统
2018/11/30 Python
Python sklearn KFold 生成交叉验证数据集的方法
2018/12/11 Python
python实现银行管理系统
2019/10/25 Python
python使用python-pptx删除ppt某页实例
2020/02/14 Python
python 如何读、写、解析CSV文件
2021/03/03 Python
加拿大休闲和工业服装和鞋类零售商:L’Équipeur
2018/01/12 全球购物
豪华床上用品、床单和浴室必需品:Peacock Alley
2019/09/04 全球购物
2014年自我评价
2014/01/04 职场文书
文员求职信
2014/07/15 职场文书
平安工地汇报材料
2014/08/19 职场文书
青春励志演讲稿范文
2014/08/25 职场文书
公民授权委托书
2014/10/15 职场文书
贫困生助学金感谢信
2015/01/21 职场文书
预防艾滋病宣传活动总结
2015/05/09 职场文书
解决IDEA翻译插件Translation报错更新TTK失败不能使用
2022/04/24 Python