1. NodeがHTTPサーバーを構築するhttpモジュールは、 HTTP サーバーを作成するためにノードで使用されます。新しいリクエストが受信されるたびに、リクエスト イベントが呼び出され、リクエスト req (http.IncomingMessage オブジェクト) とレスポンス res (http.ServerResponse オブジェクト) の 2 つのオブジェクトが提供されます。 request はリクエストの詳細を提供します。 リクエスト ヘッダーとリクエスト データへのアクセスを提供します。 (クライアント→サーバー) 応答は、クライアント (サーバー -> クライアント) に返されるデータを構築するために使用されます。以下は単純な HTTP Web サーバーの例です。 以下は単純なHTTPサーバーの例です。 //http モジュールをインポート const http = require('http') // http サーバーを作成する const server = http.createServer((req, res) => { // 成功した応答を示すために statusCode プロパティを 200 に設定します res.statusCode = 200 // res は基本的に stream.Writable クラスを継承します // 応答ヘッダーと本文をクライアントに送信した後、メッセージの送信が終了したことをサーバーに通知します res.end("hollow server") // res.writer("hollow server")+res.end() と同等 }) // サーバーを listen します。サーバーの準備ができたら、 listen コールバック関数が呼び出されます // コンソールに起動が成功したことが出力されます server.listen('8089', 'localhost', () => { console.log("起動に成功しました") }) この時点でローカルサーバーがセットアップされ、ブラウザでlocalhost:8089を開いて表示することができます。 2. HTTPサーバーがリクエストを取得する
ダウンロードも非常に簡単です。ここをクリックして公式ウェブサイトに直接アクセスしてダウンロードできます👉👉👉Postmanをダウンロード 1. Postmanがgetリクエストを送信するPostmanで新しいリクエストを作成し、上記でnode.jsで作成したHTTPサーバーのホストアドレスと、ユーザー名とパスワード 2. サーバー分析サーバーはクライアント(Postman)からのGETリクエストを受信し、送信されたデータを処理する。 定数 http = require('http') // URL を処理するためのモジュール const url = require('url') // クエリを処理するモジュール const qs = require('querystring') const server = 新しい http.Server((req, res) => { // リクエスト オブジェクトは、クライアントからサーバーに渡されるすべての情報をカプセル化します // URL を解析します const { pathname, query } = url.parse(req.url) if (パス名 === '/login') { //console.log(クエリ) // qs の解析メソッドはクエリを処理できます // 文字列型を js オブジェクトに変換します username=ahua&password=123 --> {username: 'ahua',password: 123} //console.log(qs.parse(クエリ)) const { ユーザー名、パスワード } = qs.parse(クエリ) console.log(ユーザー名、パスワード) res.end('リクエスト結果') } コンソールログ(req.url) //リクエストタイプを印刷 console.log(req.method) //リクエストヘッダー console.log(req.headers) }) server.listen('8089', 'localhost', () => { console.log("サーバーが正常に開始されました") }) サーバー側での分析結果 3. HTTPサーバーがPOSTリクエストを処理する1. Postmanが投稿リクエストを送信する上記の get リクエストでは、ユーザー名とパスワードをアドレス バーに入力するだけでは安全とは言えません。アカウント パスワードをより慎重に扱うには、本文に入力し、json ファイルを使用してサーバーに送信します。 次の図は、Postmanがユーザー名とパスワードをjsonファイルに入れてbady経由でサーバーに渡す動作を示しています。 2. サーバー分析サーバーはクライアント (postman) からの POST リクエストを受信し、送信されたデータを処理します。まず、POST リクエストであるかどうかを判断し、次に本文のデータを取得して、データを解析する必要があります。 定数 http = require('http') // URL を処理するためのモジュール const url = require('url') const server = 新しい http.Server((req, res) => { // クライアントから送信されたURLのパス名を取得します const { パス名 } = url.parse(req.url) // ログインかどうかを判定する if (パス名 === '/login') { // クライアントから送信されたリクエストがPOSTリクエストかどうかを判定します if (req.method === 'POST') { // クライアントから送信されるデータのデフォルトのエンコード形式を定義します req.setEncoding('utf-8') // req.setEncoding('binary') binary はバイナリエンコーディングを定義します // 本文のデータを取得します // 本文のデータはストリームを通じて書き込まれます // データイベントがリッスンされると、入力ストリーム、つまり本文の関連コンテンツが取得され、このデータの結果を返すことができます req.on('data', (data) => { // JSON.parse() はオブジェクト内の文字列を js オブジェクトに変換します // {"username":"阿花","passward":"123"} ---> {username: 'ahua',password: 123} const { ユーザー名、パスワード } = JSON.parse(データ) console.log(ユーザー名、パスワード) }) } } res.end('リクエスト結果') }) server.listen('8089', 'localhost', () => { console.log("サーバーが正常に開始されました") }) サーバー印刷要求結果 これにより、単純なサーバー対話プロセスが完了します。 これで、HTTP サーバーとクライアントのインタラクションをシミュレートするための node.js+postman に関するこの記事は終了です。関連する node.js+postman サーバーとクライアントのインタラクションのコンテンツについては、123WORDPRESS.COM の以前の記事を検索するか、次の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。 以下もご興味があるかもしれません:
|
<<: Ubuntu 18.04 Linux システムに JDK と Mysql をインストールする方法
Nginxは正規表現を使用して、ワイルドカードドメイン名をディレクトリに自動的に一致させます。 Ng...
目次通常のページングクエリ最適化する方法大きなオフセット使用ID制限大量データ問題の最適化通常のペー...
Superset は、エレガントなインターフェースとデータ テーブルに基づく動的なデータ生成を主な機...
SSH プラグインの使用による公開Publish Over SSH を使用する前に、SSH 秘密キー...
目次1. サブクエリとは何ですか? 2. 自己結合3. 自然な結合4. 外部接続1. サブクエリとは...
1. 公式5.0.3イメージを取得する [root@localhost ~]# docker pul...
目次1. 反射とは何ですか? 2. JavaScriptで反映する2.1 Reflect.get(タ...
<br />多くの中小企業ではこの問題は発生しません。中小企業はデザイナーをサポートし、...
InnoDB REDO ログ ファイルのサイズと数を調整する場合は、次の手順に従います。 1. My...
1. シーケンステーブルを作成する テーブル `sequence` を作成します ( `name` ...
目次序文iframeはサンドボックスを実装しますdiffメソッドを使用したサンドボックスの実装プロキ...
目次需要背景Nginx を使用する理由は何ですか? Nginx によるポート転送依存関係をインストー...
RedisはRedisバージョン5のapline(Alps)イメージを使用します。これは小さくて高速...
ハイパーリンク <a> タグはリンク ポイントを表します。これは英語の単語「anchor...
ネットワーク使用チュートリアル公式サイト docker-compose.yml リファレンスドキュメ...