const http = require('http')
const url = require('url')
//创建服务对象(该回调函数,只要该服务接受到请求就会执行)
let serve = http.createServer((request, response) => {
console.log(request.method)//获取请求的方法
console.log(request.httpVersion)//获取请求的版本号
console.log(request.headers)//获取请求的请求头
//1.获取请求的url -url只包含url中路径与查询字符串,IP不会出来 ex:/search?keyword=5
console.log(request.url)
//2.获取请求报文中url的路径与查询字符串
let res = url.parse(request.url, true)//加了true会将查询字符串转为对象
console.log(res.pathname)//路径 ex:/search
console.log(res.query)//查询字符串 ex:{keyword:5}
//3.获取请求报文中url的路径与查询字符串
// let url = new URL('http://127.0.0.1:9000/search?keyword=5') //这里必须包含IP
let url = new URL(request.url, 'http://127.0.0.1')//这里端口号可写可不写,new URL都可以处理接收
console.log(url.pathname)//路径 ex:/search
console.log(url.searchParams.get('keyword'))//查询字符串 ex:{keyword:5}
response.statusCode = 200//设置状态码,默认200
response.setHeader('content-type','text/html;charset=utf-8')//响应体内容中文乱码解决办法
response.end('响应返回')//设置响应体(write也可以,可多次调用,但end只能单次,end方法必须有)
})
//监听端口,启动服务
serve.listen(9000, () => {
console.log('服务已经启动。。。')
})
// http协议默认端口80 https协议默认端口443