- server开发和前端开发的区别
- 服务稳定性
- 考虑内存和cpu(优化,扩展)
- 日志记录
- 安全
- 集群和服务拆分
http请求概述
- DNS解析,建立TCP连接,发送http请求
- server接收到http请求,处理,并返回
- 客户端接收到返回数据,处理数据(如渲染页面,执行js)
node.js处理http请求
- get请求和querystring
- post请求和postdata
- 路由
const http = require('http');
const server = http.createServer((req,res)=>{
//req (Request简写) ***向服务器发送什么
//res (Response简写) ***服务器返回什么
res.writeHead(200,{'content-type': 'text/html'})
res.end('<div>123456</div>')
})
server.listen(3000,()=>{
console.log('listen')
})
node.js处理get请求
node.js接收get请求返回数据
const http = require('http');
const querystring = require('querystring');
const server = http.createServer((req,res)=> {
const url = req.url
req.query = querystring.parse(url.split('?')[1]);
console.log(url,'url',req.query,'req.query')
res.end(JSON.stringify(req.query))
})
server.listen(8000)
node.js处理post请求
const http = require('http');
const server = http.createServer((req, res)=> {
console.log(req.headers['content-type']) //传递过来的数据格式
let postData = ''
req.on('data', chunk => {
//随时接收数据
postData += chunk.toString();
})
req.on('end',()=> {
//什么时候结束什么时候触发
console.log(postData)
console.log('123')
res.end('321')
})
})
server.listen(8000)
node.js请求综合处理
const http = require('http');
const querystring = require('querystring');
const server = http.createServer((req,res)=>{
const method = req.method
const url = req.url
const path = url.split('?')[0]
const query = querystring.parse(url.split('?')[1])
//设置返回格式 JSON
res.setHeader('Content-type', 'application/json')
//返回数据
const resData = {
method,
url,
path,
query
}
//返回
if (method === 'GET') {
res.end(JSON.stringify(resData))
}
if (method === 'POST') {
let postData = ''
req.on('data', chunk=>{
postData += chunk.toString()
})
req.on('end',()=>{
resData.postData = postData
res.end(JSON.stringify(resData))
})
}
})
server.listen(8080)