详解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 相关文章推荐
HTML中的setCapture和releaseCapture使用介绍
Mar 21 Javascript
解析Javascript中难以理解的11个问题
Dec 09 Javascript
jsp网页搜索结果中实现选中一行使其高亮
Feb 17 Javascript
css结合js制作下拉菜单示例代码
Feb 27 Javascript
JavaScript中九种常用排序算法
Sep 02 Javascript
JavaScript实现拖拽网页内元素的方法
Apr 15 Javascript
JavaScript调用浏览器打印功能实例分析
Jul 17 Javascript
js实现功能比较全面的全选和多选
Mar 02 Javascript
JavaScript代码判断输入的字符串是否含有特殊字符和表情代码实例
Aug 17 Javascript
vue在使用ECharts时的异步更新和数据加载详解
Nov 22 Javascript
详解Vue CLI 3.0脚手架如何mock数据
Nov 23 Javascript
vue项目中使用scss的方法步骤
May 16 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的一个基础知识 表单提交
2011/07/04 PHP
迁移PHP版本到PHP7
2015/02/06 PHP
php判断目录存在的简单方法
2019/09/26 PHP
javascript学习网址备忘
2007/05/29 Javascript
js 蒙版进度条(结合图片)
2010/03/10 Javascript
Javascript 中的 && 和 || 使用小结
2010/04/25 Javascript
理解Javascript_09_Function与Object
2010/10/16 Javascript
javascript来定义类的规范小结
2010/11/19 Javascript
jQuery Tools tab(幻灯片)
2012/07/14 Javascript
解析JavaScript中的不可见数据类型
2013/12/02 Javascript
原生js配合cookie制作保存路径的拖拽
2015/12/29 Javascript
javascript+HTML5自定义元素播放焦点图动画
2016/02/21 Javascript
JS操作JSON方法总结(推荐)
2016/06/14 Javascript
使用原生的javascript来实现轮播图
2017/02/24 Javascript
JavaScript实现兼容IE6的收起折叠与展开效果实例
2017/09/20 Javascript
JavaScript实现带有子菜单和控件的slider轮播图效果
2017/11/01 Javascript
jQuery实现带右侧索引功能的通讯录示例【附源码下载】
2018/04/17 jQuery
nodejs二进制与Buffer的介绍与使用
2019/07/11 NodeJs
详解Vue中CSS样式穿透问题
2019/09/12 Javascript
layui扩展上传组件模拟进度条的方法
2019/09/23 Javascript
vue v-on:click传递动态参数的步骤
2020/09/11 Javascript
使用vant的地域控件追加全部选项
2020/11/03 Javascript
利用Python实现图书超期提醒
2016/08/02 Python
Python文件的读写和异常代码示例
2017/10/31 Python
微信跳一跳小游戏python脚本
2018/01/05 Python
Python学习笔记之open()函数打开文件路径报错问题
2018/04/28 Python
python爬虫实现中英翻译词典
2019/06/25 Python
Python 中 -m 的典型用法、原理解析与发展演变
2019/11/11 Python
python中函数返回多个结果的实例方法
2020/12/16 Python
matplotlib实现数据实时刷新的示例代码
2021/01/05 Python
Html5百叶窗效果的示例代码
2017/12/11 HTML / CSS
运动会通讯稿300字
2014/02/02 职场文书
小学关爱留守儿童活动方案
2014/08/25 职场文书
工艺技术员岗位职责
2015/02/04 职场文书
工作犯错保证书
2015/05/11 职场文书
Spring Boot 使用 Spring-Retry 进行重试框架
2022/04/24 Java/Android