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时会
这就是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") //监听成功得回掉方法 })
这样就定制好了路由了