详解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 相关文章推荐
控制页面按钮在后台执行期间不重复提交的JS方法
Jun 24 Javascript
jQuery获取URL请求参数的方法
Jul 18 Javascript
jQuery满意度星级评价插件特效代码分享
Aug 19 Javascript
JavaScript 数组some()和filter()的用法及区别
May 20 Javascript
详解JavaScript中Hash Map映射结构的实现
May 21 Javascript
javascript 动态脚本添加的简单方法
Oct 11 Javascript
详解vue-router 2.0 常用基础知识点之导航钩子
May 10 Javascript
jquery dataTable 后台加载数据并分页实例代码
Jun 07 jQuery
详解使用angular的HttpClient搭配rxjs
Sep 01 Javascript
轻松理解vue的双向数据绑定问题
Oct 30 Javascript
Vue 电商后台管理项目阶段性总结(推荐)
Aug 22 Javascript
vue切换菜单取消未完成接口请求的案例
Nov 13 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生成xml简单实例代码
2009/12/16 PHP
php中实现精确设置session过期时间的方法
2014/07/17 PHP
php实现异步数据调用的方法
2015/12/24 PHP
Zend Framework上传文件重命名的实现方法
2016/11/25 PHP
JavaScript 通过模式匹配实现重载
2010/08/12 Javascript
菜鸟javascript基础资料整理2
2010/12/06 Javascript
ASP.NET jQuery 实例10 动态修改hyperlink的URL值
2012/02/03 Javascript
基于jquery的用鼠标画出可移动的div
2012/09/06 Javascript
深入php面向对象、模式与实践
2016/02/16 Javascript
jQuery EasyUI Pagination实现分页的常用方法
2016/05/21 Javascript
JS实现根据文件字节数返回文件大小的方法
2016/08/02 Javascript
最好用的Bootstrap fileinput.js文件上传组件
2016/12/12 Javascript
JS数组交集、并集、差集的示例代码
2017/08/23 Javascript
vue.js,ajax渲染页面的实例
2018/02/11 Javascript
微信小程序基于canvas渐变实现的彩虹效果示例
2019/05/03 Javascript
Vue+Django项目部署详解
2019/05/30 Javascript
VUE 动态组件的应用案例分析
2019/12/02 Javascript
详解小程序横屏方案对比
2020/06/28 Javascript
Python pickle模块用法实例
2015/04/14 Python
在Python 3中实现类型检查器的简单方法
2015/07/03 Python
Python减少循环层次和缩进的技巧分析
2016/03/15 Python
python excel使用xlutils类库实现追加写功能的方法
2018/05/02 Python
python和mysql交互操作实例详解【基于pymysql库】
2019/06/04 Python
PyQt5 QListWidget选择多项并返回的实例
2019/06/17 Python
python的mysql数据库建立表与插入数据操作示例
2019/09/30 Python
Python-openCV读RGB通道图实例
2020/01/17 Python
解决Python 异常TypeError: cannot concatenate 'str' and 'int' objects
2020/04/08 Python
Python正则re模块使用步骤及原理解析
2020/08/18 Python
python进度条显示之tqmd模块
2020/08/22 Python
详解pandas中利用DataFrame对象的.loc[]、.iloc[]方法抽取数据
2020/12/13 Python
基于HTML5 Canvas 实现弹出框效果
2017/06/05 HTML / CSS
暑期教师培训方案
2014/06/07 职场文书
2014机关党员干部“正风肃纪”思想汇报
2014/09/15 职场文书
幼儿园教师岗位职责
2015/04/02 职场文书
跟班学习心得体会(共6篇)
2016/01/23 职场文书
Python Pandas pandas.read_sql_query函数实例用法分析
2021/06/21 Python