站長資訊網
        最全最豐富的資訊網站

        node.js get與post的區別是什么

        區別:1、GET請求傳參通過URL,而POST請求傳參通過HTTP上行報文;2、POST請求的安全性比GET請求高,GET請求的參數在URL中,是可見的,因此GET請求不安全;3、GET有請求緩存,而POST沒有;4、GET用于取出數據,而POST用于提交數據;5、GET傳輸的數據量有限制,而POST傳輸的數據量沒有限制;6、GET請求對數據類型有限制,而POST請求沒有限制。

        node.js get與post的區別是什么

        本教程操作環境:windows7系統、nodejs16版,DELL G3電腦。

        node是運行在服務端的javaScript語言,用戶向服務器發送請求就要用到get/post方法。

        get和post實現的功能基本相同,都是客戶端提交數據給服務器端,只是實現的機制不同而已。

        GET請求

        GET請求是把參數數據隊列添加到表單的action屬性所指向的url中,值和表單里的name屬性一一對應,在url中可以看到。通過url模塊中的parse()來處理發過來的req.url。

        我們通過form表單來發送get請求:

        <!DOCTYPE html> <html>   <head>     <meta charset="utf-8">     <title>get</title>   </head>   <body>     <form action="http://localhost:8080/index" method="get">       用戶:<label>       <input type="text" name="user" value="">        </label><br>       密碼:<label>       <input type="password" name="pass" value="">        </label><br>       <input type="submit" value="提交">     </form>   </body> </html>

        對應的node.js代碼如下:

        const http=require('http'); const urlLib=require('url');  http.createServer(function (req, res){     //req獲取前臺請求數據     //req.url的值是:/index?user=Kity&pass=32412  var obj=urlLib.parse(req.url, true);   var url=obj.pathname;//url的值是:"/index"   var GET=obj.query; //GET的值是:{user:'Kity',pass:'232312'}   console.log(url, GET);    res.write('success');   res.end(); }).listen(8080);

        運行node.js代碼后結果如下:

        liyabin@liyabin-ThinkPad-Edge-E430:~/下載/node$ node server3.js /index { user: 'Kity', pass: '231312' }

        POST請求

        POST請求的內容全部的都在請求體中,所有node.js 默認是不會解析請求體的。通過querystring模塊中的parse()來處理post請求。post傳輸的數據量比get大得多,不會一次傳輸完畢,需分段到達。

        發送post請求的表單只需把上面的method="get"改成method="post"即可。

        const http=require('http'); const querystring=require('querystring');  http.createServer(function (req, res){   //POST——req    var str = '';   //接收數據    //data——有一段數據到達(很多次)    req.on('data', function (data){     let i = 0;     console.log(`第${i++}次收到數據`);     str += data;   });   //end——數據全部到達(一次)   req.on('end', function (){     let POST = querystring.parse(str);     console.log(POST);     res.write("success");     res.end();   }); }).listen(8080);

        運行node代碼后的結果如下:

        liyabin@liyabin-ThinkPad-Edge-E430:~/下載/node$ node server.js 第0次收到數據 { user: 'fdf', pass: '21341412' }

        get 和 post 的區別

        node.js get與post的區別是什么

        GET和POST請求的優缺點:

        (1) get傳輸的數據量非常小,一般在2k左右,但是執行效率比post好;

        (2)post傳輸的數據量較大,它是等待服務器來讀數據,不過也有字節限制,這是為了防止對服務器用大量數據進行攻擊,微軟對用Request.Form()接收的最大數據有限制,IIS4為80kB,IIS5為100kB;

        (3)form表單提交一般用post,因為如果用get提交數據,用戶名和密碼會出現在url上,如果頁面可以被緩存或者其他用戶可以訪問客戶端,就可以從歷史記錄里看到用戶名和密碼,帶來數據的安全性問題。

        贊(0)
        分享到: 更多 (0)
        網站地圖   滬ICP備18035694號-2    滬公網安備31011702889846號
        主站蜘蛛池模板: 少妇人妻精品一区二区三区| 欧美日韩精品在线| 国产精品毛片VA一区二区三区| 国产高清在线精品一本大道| A级精品国产片在线观看| 日韩午夜高清福利片在线观看欧美亚洲精品suv | 欧美精品一区二区精品久久 | 日韩欧美国产精品第一页不卡| 国内精品久久国产大陆| 无码精品人妻一区二区三区漫画 | 亚洲国产另类久久久精品黑人| 久久久久亚洲精品天堂久久久久久| 亚洲国产精品久久久久婷婷软件 | 亚洲国产另类久久久精品黑人| 免费视频精品一区二区| 国产精品无码久久四虎| 欧美黑人巨大精品| 国产福利91精品一区二区| 久久精品国产清高在天天线| 中日韩产精品1卡二卡三卡| 久久久久人妻一区精品| 久久99精品久久久久久噜噜| 精品国产国产综合精品| 国产亚洲精品影视在线产品| 国产系列高清精品第一页| 国产精品小视频免费无限app| 99久久99久久精品国产| 91久久精品国产成人久久| 亚洲精品免费视频| 91av国产精品| 92国产精品午夜福利免费| 午夜影视日本亚洲欧洲精品一区| 亚洲国产精品久久久久久| 日韩精品成人一区二区三区| 欧美精品888| 99久久精品国产毛片| www夜片内射视频日韩精品成人| 99热日韩这里只有精品| 97精品国产自在现线免费观看| 1区1区3区4区产品芒果精品| 99久久精品无码一区二区毛片|