详解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 相关文章推荐
jQuery dialog 异步调用ashx,webservice数据的代码
Aug 03 Javascript
$.format,jquery.format 使用说明
Jul 13 Javascript
js性能优化 如何更快速加载你的JavaScript页面
Mar 17 Javascript
jQuery 网易相册鼠标移动显示隐藏效果实现代码
Mar 31 Javascript
可兼容IE的获取及设置cookie的jquery.cookie函数方法
Sep 02 Javascript
js判断字符长度以及中英文数字等
Dec 31 Javascript
用javascript实现自动输出网页文本
Jul 30 Javascript
Vue结合原生js实现自定义组件自动生成示例
Jan 21 Javascript
简单实现AngularJS轮播图效果
Apr 10 Javascript
vue filters的使用详解
Jun 11 Javascript
Vue 实现拖动滑块验证功能(只有css+js没有后台验证步骤)
Aug 24 Javascript
JS相册图片抖动放大展示效果的示例代码
Jan 29 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可生成缩略图的文件上传类实例
2014/12/17 PHP
PHP多线程之内部多线程实例分析
2015/03/09 PHP
PHP中phar包的使用教程
2017/06/14 PHP
PHP空值检测函数与方法汇总
2017/11/19 PHP
php实现JWT验证的实例教程
2020/11/26 PHP
封装的原生javascript弹出层代码
2010/09/24 Javascript
JavaScript 原型链学习总结
2010/10/29 Javascript
基于jquery的3d效果实现代码
2011/03/23 Javascript
FusionCharts图表显示双Y轴双(多)曲线
2012/11/22 Javascript
JQuery中的事件及动画用法实例
2015/01/26 Javascript
JavaScript中DOM详解
2015/04/13 Javascript
基于JQuery实现图片上传预览与删除操作
2016/05/24 Javascript
使用Bootstrap typeahead插件实现搜索框自动补全的方法
2016/07/07 Javascript
Bootstrop实现多级下拉菜单功能
2016/11/24 Javascript
JS回调函数简单用法示例
2017/02/09 Javascript
vue.js如何将echarts封装为组件一键使用详解
2017/10/10 Javascript
JavaScript实现的反序列化json字符串操作示例
2018/07/18 Javascript
TypeScript高级用法的知识点汇总
2019/12/17 Javascript
Vue 3.0 全家桶抢先体验
2020/04/28 Javascript
ant design的table组件实现全选功能以及自定义分页
2020/11/17 Javascript
[02:41]DOTA2英雄基础教程 亚巴顿
2014/01/02 DOTA
用python删除java文件头上版权信息的方法
2014/07/31 Python
tensorflow输出权重值和偏差的方法
2018/02/10 Python
Python 获取中文字拼音首个字母的方法
2018/11/28 Python
使用python实现kNN分类算法
2019/10/16 Python
Python中zip()函数的解释和可视化(实例详解)
2020/02/16 Python
关于Django Models CharField 参数说明
2020/03/31 Python
英国剑桥包官网:The Cambridge Satchel Company
2016/08/01 全球购物
毕业学生推荐信
2013/12/01 职场文书
口头翻译求职人自荐信
2013/12/07 职场文书
八年级数学教学反思
2014/01/31 职场文书
个人租房协议书样本
2014/10/01 职场文书
呼兰河传读书笔记
2015/06/30 职场文书
2015中秋节晚会开场白
2015/07/30 职场文书
2019各种承诺书范文
2019/06/24 职场文书
MySQL数据库事务的四大特性
2022/04/20 MySQL