GET数据:容量小 32K 数据在URL中
POST数据:数据量大 1G 分段传输 数据另外发
处理方法:
const http=require("http");
http.createServer(function(req,res){
var i=0;
var str='';//接受数据
//data事件多次触发
req.on("data",function(data){
console.log(`第${i++}次收到数据`);
str+=data;
});
req.on("end",function(){
console.log(str);
});
}).listen(8080);
改进简易服务器:
const http=require("http");
const fs=require("fs");
const querystring=require("querystring");
const urlLib=require("url");
var server=http.createServer(function(req,res){
//GET
var obj=urlLib.parse(req.url,true);
var url=obj.pathname;
const GET=obj.query;
//POST
var str='';
req.on("data",function(data){
str+=data;
// console.log(str);
});
req.on("end",function(){
const POST=querystring.parse(str);
// cosole.log(url,GET);
console.log(POST);
var file_name="./www"+url; //读取WWW目录下的某个文件
fs.readFile(file_name,function(err,data){
if(err){
res.write("404");
}else{
res.write(data);
}
res.end();
});
});
//fs
});
server.listen(8083);