Node.js 构建HTTP服务
2021-09-27 03:15
标签:细节问题 browser tcp move 状态码 hello 使用 路径 url Node中的HTTP模块 TCP和UDP都属于网络传输协议,如果要构架高效的网络应用,就应该从传输层着手,但是对于经典的浏览器网页和服务器端通信场景,如果单纯的使用更底层的传输协议则会变得麻烦。 所以对于经典的B(browser)S(server)通信,基于传输层之上专门制定了更上一层的通信协议:HTTP,用于浏览器和服务端进行通信,由于HTTP协议本身并不考虑数据如何传输及其他细节问题,所以属于应用层协议。 Node提供了基于HTTP和HTTPS模块用于HTPP和HTTPS的封装。 count http = require('http') const server = http.createServer() server 实例 API: event:close ,服务关闭时触发 event: reques,收到请求消息时触发 event: close(),关闭服务 event: listening, 获取服务状态 请求对象 API: request.method,请求方法 request.url,请求路径 request.headers,请求头 request.httpVersion,请求http协议版本 响应对象 API: response.end(), 结束响应 response.setHeader(name, value),设置响应头 response.removeHeader(name, value),删除响应头 response.statusCode,设置响应状态码 response.statusMessage,设置响应状态码 response.write(),写入响应数据 response.writeHead(),写入响应头 示例: const http = require('http') const hostname = '127.0.0.1' const port = '20000' const server = http.createServer((req, res) => { res.statusCode = 200 res.setHeader('Content-Type', 'text/plain') res.end('Hello World\n') }) server.listen(port, hostname, () => { console.log(`Server running at http://${hostname}:${port}`) }) html: const http = require('http') const hostname = '127.0.0.1' const port = '20001' const server = http.createServer((req, res) => { // 响应文本类型的html,响应格式 utf-8 res.setHeader('Content-Type', 'text/html; charset=utf-8') res.end(`hello你好,世界`) }) server.listen(port, hostname, () => { console.log(`Server running at http://${hostname}:${port}/`) })Node.js 构建HTTP服务标签:细节问题 browser tcp move 状态码 hello 使用 路径 url 原文地址:https://www.cnblogs.com/liea/p/11832573.html