• node post和get请求原理


    重要:GET和POST请求他们都是上行请求,都是把数据从浏览器带向服务器的方式,


    GET 请求实际上就是识别URL中的querystring部分
    POST请求,一般用来发送大量的内容,此时node非常害怕大内容,因为如果你上传的时候传1G的内容,此时你会把进程阻塞,这时node很聪明,它会把浏览器传来的大内容分成一个个包来进行传输

     


    GET请求:

    var http = require("http");
    var url = require("url");
    var querystring = require("querystring");
    
    var server = http.createServer((req,res)=>{
        var query1 = url.parse(req.url).query; //产生结果是字符串,加上true,就是json  var query1 = url.parse(req.url,true).query;
        var obj = querystring.parse(query1);   //第二种方式,效率不高。没有第一种方便
        console.log(obj);
    });
    
    server.listen(3800,"192.168.3.55");

    POST请求:

      HTML:

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>表单</title>
    </head>
    <body>
        <form action="http://127.0.0.1:3800" method="post">
            <p>
                <input type="text" name="name" placeholder="请输入用户名" />
            </p>
            <p>
                <input type="text" name="age" placeholder="请输入年龄" />
            </p>
            <p>
                <input type="radio" name="sex" value="" /><input type="radio" name="sex" value="" /></p>
            <p>
                <input type="submit" value="提交" />
            </p>
        </form>
    </body>
    </html>

      js:

    var http = require("http");
    var url = require("url");
    
    var server = http.createServer((req,res)=>{
        var result = "";
        //面对post提交,node.js用监听的写法处理
        req.on("data",function (chunk) {
            //data 是一个事件,表示一个小包传输完毕做的事情,
            console.log("小包传输完毕");
            result += chunk;
        });
        req.on("end",function () {
            //所有的包都传输完毕
            console.log(result.toString());
        })
    });
    
    server.listen(3800,"127.0.0.1");
  • 相关阅读:
    前端
    Spring AOP知识点整理
    【转载】spring aop 面试考点
    【转载】MDC 是什么?
    【转载】在分布式项目中,每个服务器的日志从产生,到集中到一个统一日志平台的流程是什么,中间都有那些过程?
    【转载】门面日志如何自动发现日志组件
    【转载】ArrayList从源码看扩容实现
    【原创】Ajax实现方式
    【转载】servlet与springMVC的差别
    【转载】serlvet
  • 原文地址:https://www.cnblogs.com/xianxianxxx/p/8193686.html
Copyright © 2020-2023  润新知