欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 房产 > 家装 > 从0到1学习node.js(http模块)

从0到1学习node.js(http模块)

2024/10/24 10:09:47 来源:https://blog.csdn.net/qq_43610311/article/details/143174760  浏览:    关键词:从0到1学习node.js(http模块)
一、使用node.js构建后台服务
1、使用node.js创建一个HTTP服务
// 1.导入 http模块
const http = require('http')// 2.创建服务对象 两个参数,第一个请求体,第二个响应体
const server = http.createServer((request, response) => {response.end('Hello HTTP server') // 响应并结束
})// 监听端口
server.listen(9000, () => {console.log('服务启动成功...')
})
2、服务中提取HTTP请求报文
含义语法
请求方法request.method
请求版本request.httpVersion
请求路径request.url
请求头request.headers
请求体
// 1.导入 http模块
const http = require('http')// 2.创建服务对象 两个参数,第一个请求体,第二个相应体
const server = http.createServer((request, response) => {// 获取请求的方法console.log(request.method)// 获取请求的urlconsole.log(request.url) // 只包含路径和字符串// 获取HTTP协议版本号console.log(request.httpVersion)// 获取请求头console.log(request.headers)response.end(request.method)
})// 监听端口
server.listen(9000, () =>{console.log('服务启动成功..')
})
3、设置HTTP响应报文
response.statusCode = 200 // 设置返回状态码
response.statusMessage = '123' // 设置返回消息体 几乎不用
response.setHeader('content-type','text/html;charset=utf-8')// 设置MIME类型
response.end() // 返回响应体,有切只有一个!必须有一个
4、一个小练习,返回一个html文件
const http = require('http')
const fs = require('fs')const server = http.createServer((request, response) => {response.setHeader('content-type', 'text/html;charset=utf-8')fs.readFile(__dirname + '/index.html', (err, data) => {if (err) {console.log('读取失败')return}response.end(data)})
})server.listen(9000, () => {console.log('服务器启动完毕...')
})
5、设置响应资源的MIME类型
常见的文件对应的mime类型
html:'text/html'
js:'text/javaScript'
css:'text/css'
png:'image/png'
jpg:'image/jpg'
gif:'image/gif'
mp4:'video/mp'
mp3:'audio/mpeg'
json:'application/json'
如果都不是,就返回application/octet-stream 类型
浏览器在遇到该类型的时候会对响应体内容进行独立存储,也就是我们常见的下载效果
6、绝对路径
路径用法
http://www.baidu.com/aaa完整路径
//www.baidu.com/aaa省略协议
/aaa全部省略就会默认自动的使用当前项目的路径
7、相对路径

相对路径在发送请求时,需要与当前页面的URL路径进行计算,得到完整URL后再发送请求, 例如当前的路径是https://www.baidu.com/sourse/index.html

形式最终的URL
./css/app.csshttps://www.baidu.com/sourse/css/app.css当前目录
js/app.jshttps://www.baidu.com/sourse/js/app.js当前目录
…/img/logo.pnghttps://www.baidu.com/img/logo.png上一级目录
…/…/mp4/show.mp4https://www.baidu.com/mp4/show.mp4上一级目录的上一级,但是现在只有一层,所以就是上一级目录。

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com