02-搭建简单的web服务器
1.http的简单应用
//1.导入http核心模块 const http = require('http') //2.创建http实例 const server = http.createServer() //3.监听request请求 server.on('request',(request,resopnse)=>{ console.log('收到客户端发送的请求'); }) //4.开启服务器 server.listen(3000,()=>{ console.log('服务器开启成功,请通过http://localhost:3000访问'); })
2.http的response
-
在response.write()后面必要有response.end()结尾
var http = require('http'); //1.创建server实例 const server = http.createServer(); //2.监听request请求,其中回调函数有两个参数:request,response server.on('request',(request,response)=>{ console.log('收到客户端发送的请求,请求路径为'+ request.url); //防止中文乱码: response.setHead('Content-Type': 'text/plain;charset=utf-8'); if(request.url === '/login'){ response.write('登录') } if(request.url === '/home'){ response.write('主页') } response.end(); //response.write()只能返回字符串或者二进制数据,不能返回数组,数字,对象之类的数据。 //在response.end('也可以发送信息’) }) //3.开启服务器 server.listen(3000,()=>{ console.log('服务器开启成功,请通过http://localhost:3000访问'); })
-
response.write()只能返回字符串或者二进制数据,不能返回数组,数字,对象之类的数据。
-
如果是数组,对象,数字或其他类型,须通过response.write(JSON.stringfy(data))
-
写入到回应流的response.write(dataList)信息也可以写作response.end(dataList)
var http = require('http'); //1.创建server实例 const server = http.createServer(); //2.监听request请求,其中回调函数有两个参数:request,response server.on('request',(request,response)=>{ console.log('收到客户端发送的请求,请求路径为'+ request.url); response.writeHead(200, { 'Content-Type': 'text/html;charset=utf-8' }); // response.setHeader('Content-Type','text/plain;charset=utf-8') let url = request.url; const dataList = [ {name:'苹果',price:'8000',number:415}, {name:'香蕉',price:'6000',number:435}, {name:'雪梨',price:'34500',number:35}, {name:'草莓',price:'83000',number:232}, {name:'芒果',price:'33000',number:423}, ] if(url === '/home'){ response.end('home') }else if(url === '/data'){ response.end(JSON.stringify(dataList)) }else{ response.end('404,not found') } }) //3.开启服务器 server.listen(3000,()=>{ console.log('服务器开启成功,请通过http://localhost:3000访问'); })