ホームページ >ウェブフロントエンド >フロントエンドQ&A >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 リクエストには制限がありません。
このチュートリアルの動作環境: Windows 7 システム、nodejs バージョン 16、DELL G3 コンピューター。
Node はサーバー側で実行される JavaScript 言語であり、ユーザーは get/post メソッドを使用してサーバーにリクエストを送信する必要があります。
get と post で実装される関数は基本的に同じで、クライアントからサーバーにデータを送信しますが、実装の仕組みが異なります。
GET リクエスト
GET リクエストは、フォームの action 属性が指す URL にパラメータ データ キューを追加します。値は次のとおりです。 name 属性は 1 対 1 に対応しており、URL 内で確認できます。送信された req.url は、url モジュールの parse() を通じて処理されます。
フォーム フォームを通じて 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 request
POST リクエストのすべてのコンテンツはリクエスト本文に含まれており、すべての Node.js はデフォルトでリクエスト本文を解析します。 Post リクエストは、querystring モジュールの parse() を通じて処理されます。 post で送信されるデータ量は get よりもはるかに大きいため、一度に送信することはできず、分割して到達する必要があります。
投稿リクエスト フォームを送信するには、上記のメソッド="get" をメソッド="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);
ノード コードを実行した結果は次のとおりです。
liyabin@liyabin-ThinkPad-Edge-E430:~/下载/node$ node server.js 第0次收到数据 { user: 'fdf', pass: '21341412' }
get と post
# の違い
##GET リクエストと POST リクエストの長所と短所:
nodejs チュートリアル を参照してください。
以上がNode.jsのgetとpostの違いは何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。