HTTP模块
简单的HTTP服务器
const http = require("http");
const server = http.createServer( //创建一个服务器对象,该方法接收一个监听函数
function (request, response) {//第一个参数是请求对象,第二个参数是响应对象
response.writeHead(200, {"Content-Type": "text/plain'"});
response.end("Hello World");
}
)
server.listen(8000); //该对象监听8000端口
console.log('Server running at http://127.0.0.1:8000/');
request(请求对象)
是http.IncomingMessage
类对象,继承stream.Readable
类
实例属性
属性名 | 描述 |
---|---|
message.method |
请求方法 |
message.httpVersion |
请求http版本 |
message.url |
请求url地址(不包括主机名和端口号) |
message.headers |
请求头信息 |
response(响应对象)
是http.ServerResponse
类对象
实例方法
属性名 | 描述 |
---|---|
response.writeHead(statusCode[,headers]) |
设置HTTP响应码和响应头(JSON格式,而不是对象形式) |
response.setHeader(name,value) |
设置个HTTP响应头(字符串形式) |
response.getHeader(name) |
获取HTTP响应头 |
response.removeHeader(name) |
删除HTTP响应头 |
response.write(chunk) |
设置响应体 |
response.end([data]) |
响应结束 |
获取GET方法请求参数
const http = require("http");
const url = require("url");
const querystring = require("querystring");
const server = http.createServer(function(request, response){
let urlObj = url.parse(request.url); //解析url
let path = urlObj.pathname; //当前请求url路径
if (request.method == "GET" && path == "/") { //请求路径和方法都命中时才向下执行
let queryObj = querystring.parse(urlObj.query); //解析querystring
console.log(JSON.stringify(queryObj)); //将queryObj对象转化为json字符串
response.end("Hello World");
} else {
response.end("Only support GET");
}
});
server.listen(8000);
console.log('Server running at http://127.0.0.1:8000/');
获取POST方法请求参数
const http = require("http");
const url = require("url");
const querystring = require("querystring");
const server = http.createServer(function (request, response) {
let urlObj = url.parse(request.url); //解析url
let path = urlObj.pathname; //当前请求url路径
if (request.method == "POST" && path == "/") { //请求路径和方法都命中时才向下执行
let body = "";
request.on("data", function (chunk) { //继承stream.Readable类,所以可以监听data和end事件
body += chunk;
});
request.on("end", function () {
let queryObj = querystring.parse(body) //将queryObj对象转化为json字符串
console.log(JSON.stringify(queryObj)); //解析querystring
response.end("Hello World");
});
} else {
response.end("Only support POST");
}
});
server.listen(8000);
console.log('Server running at http://127.0.0.1:8000/');
Comments NOTHING