この記事は、http モジュールについて学び、インターフェイスを作成するための基礎を築くのに役立ちます。お役に立てば幸いです。
#1. Web サーバー
Web サーバーとは何ですか?
アプリケーション (クライアント) は、特定のリソースが必要な場合、サーバーへの HTTP リクエストを通じてリソースを取得できます。リソースを提供するサーバーは Web サーバーです。
1.1 サーバーの初めての体験
##1.2 サーバーを作成する 2 つの方法
http.createServer はサーバー オブジェクトを返します- 最下位層は実際には直接の新しいサーバー オブジェクトを使用します
1.3 リクエスト オブジェクト
#リクエスト オブジェクトは、クライアントからサーバーに渡されるすべての情報をカプセル化します
- このリクエストの URL、サーバーは URL に応じて異なる方法で処理する必要があります;
- このリクエストのリクエスト メソッド (GET で渡されるパラメータなど)および POST リクエストの処理方法は異なります;
- このリクエストのヘッダーには、クライアント情報、データ受信形式、サポートされているエンコード形式などの情報も含まれます...
- 一般リクエスト:
##1.3.1 request-url
クライアントがリクエストを送信すると、さまざまなデータがリクエストされ、さまざまなリクエスト アドレスが渡されます。サーバーは、さまざまなリクエスト アドレスに基づいてさまざまな応答を行う必要があります。
ユーザーのリクエスト アドレスに追加のパラメーターも含まれている場合、それをどのように解析すればよいでしょうか? url モジュールを使用できます。 その中で、url モジュールは URL の処理と解析のための実用的なツールを提供しますImport url const url = require('url')リクエスト データが次のとおりであると仮定します。
コンソールによる URL の解析結果は次のとおりです。
パス名は、取得する必要がある最終パスです。私たちの目的は、クエリでユーザー名とパスワードを個別に取得することです。
const qs = require('querystring');
const http = require("http")const url = require('url')const qs = require('querystring')// 1. 创建服务器const server = http.createServer((req, res) => { // 使用内置模块 const{ pathname,query } = url.parse(req.url) if(pathname === '/login'){ console.log(query); console.log(qs.parse(query)); const { username, password } = qs.parse(query) console.log(username,password); res.end('请求结束') }});// 2. 设置端口号并启动服务器server.listen(8888,'0.0.0.0',()=>{ console.log("服务器启动成功~");})
✅コンソール出力結果:-
#1.3.2 request-method
GET: データのクエリ;
POST: 新しいデータの作成;
- PATCH: データの更新;
- DELETE: データの削除
- リクエストメソッドの違いを判断して、異なる処理を行うことができます。
- 以下が本文内の JSON リクエスト データであると仮定します。> サーバーにユーザー名とパスワードを取得させるにはどうすればよいでしょうか?
##✅コンソール出力
- 1.3.2 request-headers
##content-type は、このリクエストで伝送されるデータのタイプです:
application/ json は json 型を意味します;
text/plain はテキスト型を意味します; application/xml は XML 型を意味します;
- multipart/form-data ファイルのアップロードを示します。
- **content-length: **ファイルのサイズと長さ
- keep-alive:
-
- http は TCP プロトコルに基づいていますが、通常、リクエストと応答の直後に中断されます;
- http1.0 では、接続を維持し続けたい場合: ①ブラウザには次の要求があります。要求ヘッダーに接続を追加: keep-alive; ② サーバーは応答ヘッダーに接続: key-alive を追加する必要があります; ③ クライアントが再度要求を行うと、同じ接続が使用され、直接の当事者が接続を中断します。 connection;
- http1.1 では、すべての接続はデフォルトで connection: keep-alive になります: ① Web サーバーが異なればキープアライブ時間も異なります; ② Node のデフォルトは 5 秒です
##**user-agent: **クライアント関連情報;
1.4 応答オブジェクト
1.4.1 応答-応答オブジェクトクライアントに結果データで応答したい場合は、次の 2 つの方法で応答できます。
Write メソッド: このメソッドはデータを直接書き込みますが、ストリームは閉じません;
- end メソッド: このメソッドは最後のデータを書き込み、書き込み後にストリームは閉じられます;
- 注: end と close を呼び出さない場合、クライアントは結果を待ちます。
HTTP ステータス コード (HTTP ステータス コード) は、HTTP 応答ステータスを表すために使用される数値コードです。
HTTP ステータス コードは非常に多く、さまざまな状況に応じてさまざまなステータス コードがクライアントに返されます。一般的なステータス コードは次のとおりです (ステータス コードは後続のプロジェクトでも使用されます) )- http ステータス コード コレクション
##カテゴリ 情報 (情報ステータス コード) 承認されたリクエストの処理 #理由フレーズ1xx 2xx Success (成功ステータス コード) 3xx リダイレクト 4xx クライアント エラー #5xx サーバー エラー サーバーでリクエストの処理中にエラーが発生しました 一般的な応答コード: #説明 400##200 OKリクエストは成功しました。通常、GET および POST リクエストに使用されます 不正なリクエスト クライアント リクエストに構文エラーがあるため、サーバーは理解できません 401 Unauthorized リクエストにはユーザー認証が必要です 403 Forbidden 404 Not Found サーバーは、クライアントのリクエストに基づくリソース (Web ページ)。このコードを通じて、Web サイト デザイナーは、「要求したリソースが見つかりません」 #500 内部サーバー エラー サービスが利用できません用のパーソナライズされたページを設定できます。サーバー内部エラー、リクエストを完了できません #503 サーバーは、過負荷または過負荷のため、クライアントのリクエストを一時的に処理できません。システム・メンテナンス。遅延の長さはサーバーの Retry-After ヘッダー情報に含めることができます ヘッダー情報を返すには、主に 2 つの方法があります。 res.setHeader: 一度に 1 つのヘッダー情報を書き込みます; res.writeHead: ヘッダーとステータスを同時に書き込みます
#More ノード関連の知識については、nodejs チュートリアル を参照してください。
以上がHTTP モジュールを深く理解することができます。の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

JavaScriptコアデータ型は、ブラウザとnode.jsで一貫していますが、余分なタイプとは異なる方法で処理されます。 1)グローバルオブジェクトはブラウザのウィンドウであり、node.jsのグローバルです2)バイナリデータの処理に使用されるNode.jsの一意のバッファオブジェクト。 3)パフォーマンスと時間の処理にも違いがあり、環境に従ってコードを調整する必要があります。

javascriptusestwotypesofcomments:シングルライン(//)およびマルチライン(//)

PythonとJavaScriptの主な違いは、タイプシステムとアプリケーションシナリオです。 1。Pythonは、科学的コンピューティングとデータ分析に適した動的タイプを使用します。 2。JavaScriptは弱いタイプを採用し、フロントエンドとフルスタックの開発で広く使用されています。この2つは、非同期プログラミングとパフォーマンスの最適化に独自の利点があり、選択する際にプロジェクトの要件に従って決定する必要があります。

PythonまたはJavaScriptを選択するかどうかは、プロジェクトの種類によって異なります。1)データサイエンスおよび自動化タスクのPythonを選択します。 2)フロントエンドとフルスタック開発のためにJavaScriptを選択します。 Pythonは、データ処理と自動化における強力なライブラリに好まれていますが、JavaScriptはWebインタラクションとフルスタック開発の利点に不可欠です。

PythonとJavaScriptにはそれぞれ独自の利点があり、選択はプロジェクトのニーズと個人的な好みに依存します。 1. Pythonは、データサイエンスやバックエンド開発に適した簡潔な構文を備えた学習が簡単ですが、実行速度が遅くなっています。 2。JavaScriptはフロントエンド開発のいたるところにあり、強力な非同期プログラミング機能を備えています。 node.jsはフルスタックの開発に適していますが、構文は複雑でエラーが発生しやすい場合があります。

javascriptisnotbuiltoncorc;それは、解釈されていることを解釈しました。

JavaScriptは、フロントエンドおよびバックエンド開発に使用できます。フロントエンドは、DOM操作を介してユーザーエクスペリエンスを強化し、バックエンドはnode.jsを介してサーバータスクを処理することを処理します。 1.フロントエンドの例:Webページテキストのコンテンツを変更します。 2。バックエンドの例:node.jsサーバーを作成します。

PythonまたはJavaScriptの選択は、キャリア開発、学習曲線、エコシステムに基づいている必要があります。1)キャリア開発:Pythonはデータサイエンスとバックエンド開発に適していますが、JavaScriptはフロントエンドおよびフルスタック開発に適しています。 2)学習曲線:Python構文は簡潔で初心者に適しています。 JavaScriptの構文は柔軟です。 3)エコシステム:Pythonには豊富な科学コンピューティングライブラリがあり、JavaScriptには強力なフロントエンドフレームワークがあります。


ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

SAP NetWeaver Server Adapter for Eclipse
Eclipse を SAP NetWeaver アプリケーション サーバーと統合します。

SublimeText3 英語版
推奨: Win バージョン、コードプロンプトをサポート!

SecLists
SecLists は、セキュリティ テスターの究極の相棒です。これは、セキュリティ評価中に頻繁に使用されるさまざまな種類のリストを 1 か所にまとめたものです。 SecLists は、セキュリティ テスターが必要とする可能性のあるすべてのリストを便利に提供することで、セキュリティ テストをより効率的かつ生産的にするのに役立ちます。リストの種類には、ユーザー名、パスワード、URL、ファジング ペイロード、機密データ パターン、Web シェルなどが含まれます。テスターはこのリポジトリを新しいテスト マシンにプルするだけで、必要なあらゆる種類のリストにアクセスできるようになります。

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

Safe Exam Browser
Safe Exam Browser は、オンライン試験を安全に受験するための安全なブラウザ環境です。このソフトウェアは、あらゆるコンピュータを安全なワークステーションに変えます。あらゆるユーティリティへのアクセスを制御し、学生が無許可のリソースを使用するのを防ぎます。
