1.导入http模块
const http =require(‘http’)
2.创建服务对象
const server=http.createServer((request,response)=>{
response.end(‘hello HTTP Server’)
})
3.监听端口,启动服务
sever.listen(9000,()=>{
console.log(‘服务已经启动’)
})
注意:
1.解决中文乱码问题
response.setHeader(‘content-type’,‘text/html;charset=utf-8’)
2.端口被占用
可以使用资源监控器找到占用端口的程序,然后使用任务管理器关闭对应的程序
3.http协议默认端口是80,https协议默认端口是443
提取HTTP报文
request.url:只包含路径和查询字符串
request.method:获取请求方式、
request.httpVerstion:获取http协议的版本号
request.headers:获取http的请求头
提取http的报文的请求体
const http =require(‘http’)
const server=http.createServer((request,response)=>{
let body=‘’
request.on(‘data’,chunk=>{
body+=chunk
})
request.ono(‘end’,()=>{
response.end(‘hello HTTP Server’)
})
})
下面是对url模块的使用讲解
提取url当中的路径和字符串
const http=require('http')
const url=require('url')
const sever=http,createServer((request,response)=>{
let res =url.parse(request.url,true)
let pathname=res.pathname
//获取路径
console.log(pathname)
//查询字符串
response.end('url')
提取url路径和字符串查询的另一种方式
const http=require(‘http’)
const sever=http,createServer((request,response)=>{
let url =new URL(‘http://www.xxx.com/search?a=100’)
})
下面是对http设置响应报文的讲解
response.statusCode=200(设置响应状态码)
response.statusMessage="陈云龙必成大事’(设置相应状态的描述)
response,setHeader(“content-type”,‘text/html;charset=utf-8’)
response,setHeader(‘Server’,‘Node.js’)//设置服务器的名字
response,setHeader(‘myheader’,‘test test test’)//设置自定义的相应头