node学习记录之搭建web服务器教程


Posted in Javascript onFebruary 16, 2017

web服务器的基本知识

功能:1.接收HTTP请求(get,post,delete,put)2.处理HTTP请求

常见的web服务器架构:

1. Nginx/Apache:负责接收http请求,确定谁来处理请求,并返回请求的结果

2. php-fpm/php模块

常见得到请求

1.请求文件:包括要处理的静态文件

2.完成特定的操作,如登录,获取特定数据等等

使用http创建web服务器

//引入nodejs的核心模块http
var http = require('http') ;
//创建一个http实例
var reqHandler = function(req,res){
 res.end("我全部接受完了") //用来表示已经对响应内容全部接收
}
var web = http.createServer(reqHandler());
web.listen(666)
console.log("http runnibg on http://localhost:666")

运行方法在命令行中 输入node httptest.js即可

使用express创建web服务器

//引入模块
var express = require("express") ;

var app = express() ;

//通过路由控制响应;
app.get('/',function(req,res){
 res.end("mingming love dama")
})
app.listen(666 , function(){
 console.log('express is running')
}) ;

效果同上

静态文件

app.use(express.static('./public'))

以./public作为静态文件仓库的起始位置。

路由

将不同的请求分配给响应的处理函数

三种路由的方法 :1) path方法  2)Router方式  3)route

1. path方法

app.get('/test',function(req,res){
 res.send("id: "+req.query.id+" password: "+req.query.password);
})

当我们请求http://localhost:3000/test?id=120&password=11001时会

node学习记录之搭建web服务器教程

这就是path方法设置路由。

2. Router方法 

var express = require("express") ;

var app = express();
app.use(express.static('./public'))
//引入路由
var router = express.Router() ;
router.use(function log(){
 console.log('Time: ', Date.now());
})
//调用路由
router.get('/',function(req,res){
 res.send('Birds home page');
})
router.get('/about',function(req,res){
 res.send('Birds about page')
})
router.get('/test',function(req,res){
 res.send('Birds test page')
})

app.use('/bird',router)
app.listen(3000,function(){
 console.log("express is running")
 //监听成功得回掉方法
})

这样就定制好了路由了

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
javascript 图片上传预览-兼容标准
Jun 01 Javascript
jquery.ui.draggable中文文档
Nov 24 Javascript
jQuery语法高亮插件支持各种程序源代码语法着色加亮
Apr 27 Javascript
使用Js让Html中特殊字符不被转义
Nov 05 Javascript
js/jquery去掉空格,回车,换行示例代码
Nov 05 Javascript
node.js中的fs.chownSync方法使用说明
Dec 16 Javascript
JavaScript中exec函数用法实例分析
Jun 08 Javascript
Angularjs实现mvvm式的选项卡示例代码
Sep 08 Javascript
js实现华丽的九九乘法表效果
Mar 29 Javascript
vue  自定义组件实现通讯录功能
Sep 30 Javascript
vue实现数字动态翻牌的效果(开箱即用)
Dec 08 Javascript
Vue2.0 $set()的正确使用详解
Jul 28 Javascript
Angular实现跨域(搜索框的下拉列表)
Feb 16 #Javascript
基于Bootstrap 3 JQuery及RegExp的表单验证功能
Feb 16 #Javascript
js模态对话框使用方法详解
Feb 16 #Javascript
javascript获取以及设置光标位置
Feb 16 #Javascript
JavaScript实现翻页功能(附效果图)
Feb 16 #Javascript
浅谈$_FILES数组为空的原因
Feb 16 #Javascript
原生js实现秒表计时器功能
Feb 16 #Javascript
You might like
IIS安装Apache伪静态插件的具体操作图文
2013/07/01 PHP
php使用cookie实现记住登录状态
2015/04/27 PHP
两种php实现图片上传的方法
2016/01/22 PHP
PHP获取当前执行php文件名的代码
2017/03/02 PHP
基于Laravel5.4实现多字段登录功能方法示例
2017/08/11 PHP
JS小功能(onmouseover实现选择月份)实例代码
2013/11/28 Javascript
JS中的异常处理方法分享
2013/12/22 Javascript
js实现input框文字动态变换显示效果
2015/08/19 Javascript
【JS+CSS3】实现带预览图幻灯片效果的示例代码
2016/03/17 Javascript
JavaScript中有关一个数组中最大值和最小值及它们的下表的输出的解决办法
2016/07/01 Javascript
Move.js入门
2017/02/08 Javascript
JavaScript自定义文本框光标
2017/03/05 Javascript
分析JavaScript数组操作难点
2017/12/18 Javascript
浅谈webpack打包之后的文件过大的解决方法
2018/03/07 Javascript
vue双向数据绑定知识点总结
2018/04/18 Javascript
JS实现模糊查询带下拉匹配效果
2018/06/21 Javascript
原生js实现下拉选项卡
2019/11/27 Javascript
vue实现购物车列表
2020/06/30 Javascript
vue实现移动端H5数字键盘组件使用详解
2020/08/25 Javascript
[40:03]DOTA2上海特级锦标赛主赛事日 - 1 败者组第一轮#1EHOME VS Archon
2016/03/02 DOTA
python使用内存zipfile对象在内存中打包文件示例
2014/04/30 Python
Python 爬虫学习笔记之单线程爬虫
2016/09/21 Python
30秒轻松实现TensorFlow物体检测
2018/03/14 Python
python中ASCII码字符与int之间的转换方法
2018/07/09 Python
python 读取摄像头数据并保存的实例
2018/08/03 Python
在Python 不同级目录之间模块的调用方法
2019/01/19 Python
python 基于TCP协议的套接字编程详解
2019/06/29 Python
python爬虫之快速对js内容进行破解
2019/07/09 Python
详解python实现小波变换的一个简单例子
2019/07/18 Python
Django实现文件上传下载
2019/10/06 Python
使用css3实现超炫的loading加载动画效果
2014/05/07 HTML / CSS
美国著名首饰网站:BaubleBar
2016/08/29 全球购物
东南亚排名第一的服务市场:kaodim
2019/03/28 全球购物
Fox Racing官方网站:越野摩托车和山地自行车装备和服装
2019/12/23 全球购物
演讲稿格式
2014/04/30 职场文书
国际贸易实务实训报告
2014/11/05 职场文书