详解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 相关文章推荐
window.open不被拦截的实现代码
Aug 22 Javascript
js屏蔽鼠标键盘(右键/Ctrl+N/Shift+F10/F11/F5刷新/退格键)
Jan 24 Javascript
Javascript 中 null、NaN和undefined的区别总结
Apr 10 Javascript
异步JavaScript编程中的Promise使用方法
Jul 28 Javascript
关于安卓手机微信浏览器中使用XMLHttpRequest 2上传图片显示字节数为0的解决办法
May 17 Javascript
BootStrap实现鼠标悬停下拉列表功能
Feb 17 Javascript
用纯Node.JS弹出Windows系统消息提示框实例(MessageBox)
May 17 Javascript
Vue使用枚举类型实现HTML下拉框步骤详解
Feb 05 Javascript
Vue.JS实现垂直方向展开、收缩不定高度模块的JS组件
Jun 19 Javascript
QQ跳转支付宝并自动领红包脚本(最新)
Jun 22 Javascript
微信小程序--特定区域滚动到顶部时固定的方法
Apr 28 Javascript
微信小程序用户授权弹窗 拒绝时引导用户重新授权实现
Jul 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-CGI进程CPU 100% 与 file_get_contents 函数的关系分析
2011/08/15 PHP
PHPThumb图片处理实例
2014/05/03 PHP
thinkPHP导出csv文件及用表格输出excel的方法
2015/12/30 PHP
让textarea控件的滚动条怎是位与最下方
2007/04/20 Javascript
jQuery 连续列表实现代码
2009/12/21 Javascript
关于juqery radio写法的兼容性问题(新老版本jquery)
2010/06/14 Javascript
Jquery中Ajax 缓存带来的影响的解决方法
2011/05/19 Javascript
NodeJS学习笔记之MongoDB模块
2015/01/13 NodeJs
JQuery Mobile实现导航栏和页脚
2016/03/09 Javascript
jQuery获取选中单选按钮radio的值
2016/12/27 Javascript
微信小程序 图片边框解决方法
2017/01/16 Javascript
javascript动态创建对象的属性详解
2018/11/07 Javascript
layui在form表单页面通过Validform加入简单验证的方法
2019/09/06 Javascript
微信小程序实现身份证取景框拍摄
2020/09/09 Javascript
js实现纯前端压缩图片
2020/11/16 Javascript
[01:03:37]Secret vs VGJ.S Supermajor小组赛C组 BO3 第二场 6.3
2018/06/04 DOTA
[56:21]LGD vs IG 2018国际邀请赛小组赛BO2 第二场 8.18
2018/08/19 DOTA
如何高效使用Python字典的方法详解
2017/08/31 Python
python不换行之end=与逗号的意思及用途
2017/11/21 Python
深入浅析Python传值与传址
2018/07/10 Python
Python 实现王者荣耀中的敏感词过滤示例
2019/01/21 Python
python之信息加密题目详解
2019/06/26 Python
python正则爬取某段子网站前20页段子(request库)过程解析
2019/08/10 Python
Django 删除upload_to文件的步骤
2020/03/30 Python
Pycharm生成可执行文件.exe的实现方法
2020/06/02 Python
Python selenium环境搭建实现过程解析
2020/09/08 Python
基于Python的身份证验证识别和数据处理详解
2020/11/14 Python
Python爬虫之Selenium多窗口切换的实现
2020/12/04 Python
Tod’s英国官方网站:意大利奢华手工制作手袋和鞋履
2019/03/15 全球购物
英国No.1体育用品零售商:SportsDirect.com
2019/10/16 全球购物
CAT鞋加拿大官网:CAT Footwear加拿大
2020/08/05 全球购物
节能环保演讲稿
2014/08/28 职场文书
大学生交通专业求职信
2014/09/01 职场文书
2015年纪念“卢沟桥事变”78周年活动方案
2015/05/06 职场文书
生死牛玉儒观后感
2015/06/11 职场文书
python 经纬度求两点距离、三点面积操作
2021/06/03 Python