區別:1、GET請求傳參通過URL,而POST請求傳參透過HTTP上行封包;2、POST請求的安全性比GET請求高,GET請求的參數在URL中,可見的,因此GET請求不安全;3、GET有請求緩存,而POST沒有;4、GET用於取出數據,而POST用於提交數據;5、GET傳輸的數據量有限制,而POST傳輸的數據量沒有限制;6、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 的差異
##GET和POST請求的優缺點:
nodejs 教學!
以上是node.js get與post的差別是什麼的詳細內容。更多資訊請關注PHP中文網其他相關文章!