検索

node.js http serverを作成します

Creating a HTTP Server in Node.js

前の記事では、最も基本的なnode.jsプログラムを紹介しました。 「Hello World」プログラムは優れていますが、node.jsは、非常にスケーラブルなサーバーアプリケーションを作成するためにより一般的に使用されます。この記事では、node.jsに構築された簡単なHTTPサーバーを紹介します。

キーポイント

  • node.jsを使用すると、単純なHTTPサーバーを作成できます。重要なステップは、新しいファイルを作成し、適切なコードを挿入してサーバーを実行することです。サーバーは、LocalHostまたはマシンのIPアドレスを介してWebブラウザを介してアクセスできます。
  • サーバーの機能は、メソッド(モジュールの読み込み)とrequire()モジュールのhttpメソッド(サーバーの作成と新しいリクエストのコールバック関数の実行)に基づいて構築されます。コールバック関数は、2つのパラメーター(リクエストと応答)を使用して、クライアント要求を処理してデータを返します。 createServer()
  • サーバーは、
  • メソッドを使用してHTTPステータスコードと応答ヘッダーをクライアントに送り返し、response.writeHead()を使用してHTMLページに書き込み、response.write()を使用して応答を終了します。サーバーは、response.end()メソッドを使用して、着信接続をリッスンします。現在、サーバーは単一のHTMLページのみを返すことができ、将来の拡張機能には、ファイルシステムからWebページの読み取りやHTTP認証の統合が含まれます。 listen()

サーバーを実行している

最初に、「web_server.js」という名前の新しいファイルを作成します。次のコードをファイルに挿入して保存します。

サーバーを起動するには、次のコマンドを入力します。すべてが正常に機能する場合、サーバーが聞いていることを示すメッセージが表示されます。サンプルサーバーは、ポート80(標準のHTTPポート)にバインドしようとすることに注意してください。このポートが使用されているか、マシンで制限されている場合、エラーが発生します。
var http = require("http");
var server = http.createServer(function(request, response) {
  response.writeHead(200, {"Content-Type": "text/html"});
  response.write("<!DOCTYPE html>");
  response.write("<html>");
  response.write("<head>");
  response.write("<title>Hello World Page</title>");
  response.write("</head>");
  response.write("<body>");
  response.write("Hello World!");
  response.write("</body>");
  response.write("</html>");
  response.end();
});

server.listen(80);
console.log("Server is listening");

次のステップは、Webブラウザを使用してサーバーに接続することです。選択したブラウザを起動し、次のリンクのいずれかに向けます。ネットワークの用語では、LocalHost(およびそのIPアドレス127.0.0.1)は、現在使用しているマシンを指します。ブラウザは「Hello World!」を表示する必要があります。
node web_server.js

<code>http://localhost
http://127.0.0.1</code>
サーバーがどのように動作するか

サーバーが稼働しているので、コードを分析する時が来ました。最初に注意すべきことは、1行目のrequire()呼び出しです。 node.jsは、巨大な開発者コミュニティを備えたシンプルなモジュールシステムを提供します。 node.jsプログラムは、require()メソッドを使用して単一のモジュールをロードできます。多くのモジュールをダウンロードする必要がありますが、一部のモジュール(例:http)がnode.jsインストールに含まれています。 2行目では、httpモジュールのcreateServer()メソッドを使用して、HTTPサーバーを作成します。ほとんどのnode.js関数と同様に、createServer()はコールバック関数を引数として取得します。このコールバック関数は、サーバーが新しいリクエストを受信するたびに実行されます。コールバック関数は、リクエストと応答の2つのパラメーターを受け入れます。リクエストオブジェクトには、URL、HTTPヘッダーなどのクライアントリクエストに関する情報が含まれています。同様に、応答オブジェクトは、データをクライアントに返すために使用されます。コールバック関数は、最初にresponse.writeHead()メソッドを呼び出します。このメソッドは、HTTPステータスコードと一連の応答ヘッダーをクライアントに送信します。ステータスコードは、リクエストの結果を示すために使用されます。たとえば、誰もが以前に404エラーに遭遇したことがあり、ページが見つからないことを示しています。サンプルサーバーはコード200を返し、成功を示しています。ステータスコードに加えて、サーバーは応答のパラメーターを定義する多くのHTTPヘッダーを返します。ヘッダーを指定しない場合、node.jsはそれらを暗黙的に送信します。サンプルサーバーは、Content-Typeヘッダーのみを指定します。この特定のヘッダーは、応答のMIMEタイプを定義します。 HTML応答の場合、MIMEタイプは「テキスト/HTML」です。次に、サーバーはいくつかの呼び出しを実行しますresponse.write()。これらの呼び出しは、HTMLページに書き込むために使用されます。デフォルトでは、UTF-8文字エンコードが使用されます。技術的には、これらの呼び出しはすべて、パフォーマンスを改善するための単一の呼び出しに結合することができます。ただし、このような簡単な例では、コードの読みやすさのパフォーマンスが犠牲になります。 HTMLページに書き込みた後、response.end()メソッドが呼び出されます。この方法を呼び出すことにより、応答ヘッダーと本体が送信され、リクエストが完了したことをサーバーに伝えます。サンプルサーバーは、パラメーターなしでend()を呼び出します。ただし、一度だけ電話する必要がある場合は、end()のように呼ばれることもあります。 15行目の呼び出しにより、サーバーはポートにバインドし、着信接続をリッスンします。コンピューターには、通信エンドポイントとして機能する何千ものポートがあります。サーバーに接続するために、クライアントはサーバーがどのポートを聴いているかを正確に知る必要があります。ポートはポート番号によって識別され、通常、HTTPサーバーはポート80に耳を傾けます。 write() listen()

結論

この記事では、非常に基本的なHTTPサーバーを紹介します。現在の状態では、サーバーは単一のHTMLページのみを返すことができます。次の数週間で、node.jsの世界に飛び込み、ファイルシステムからWebページを読んだり、HTTP認証の統合など、他の機能を調査します。 HTTPサーバー(FAQ)

を作成するためのFAQ

node.jsの「http.createserver()」メソッドの目的は何ですか?

http.createServer()メソッドは、node.jsに組み込み関数であり、HTTPサーバーの新しいインスタンスを作成します。このサーバーは、着信要求のために耳を傾け、応答を送信します。引数としてrequestListener関数を取り、「リクエスト」イベントに自動的に追加されます。この関数は、サーバーがリクエストを受信するたびに呼び出されます。 requestListener関数には、2つのパラメーターがあります:requesthttp.IncomingMessageのインスタンス)とresponsehttp.ServerResponseのインスタンス)。

node.jsの「respons.writehead()」メソッドはどのように機能しますか?

response.writeHead()メソッドは、node.jsの関数であり、応答ヘッダーをリクエストに送信します。このメソッドは、2つのパラメーターを受け入れます。ステータスコードと応答ヘッダーを表す通常のオブジェクトです。ステータスコードは3ビットHTTPステータスコードであり、2番目のパラメーターは、各キー値ペアがヘッダー名とその値を表すオブジェクトです。このメソッドはresponse.end()の前に呼び出される必要があり、応答ごとに1回のみ呼び出すことができます。

node.jsの「write」と「writehead」の違いは何ですか?

node.jsのwriteおよびwriteHeadメソッドは、サーバーの応答を送信するために使用されます。 writeHeadメソッドは、HTTPステータスコードと一連の応答ヘッダーを送信するために使用されますが、writeメソッドはクライアントに応答本体を送信するために使用されます。 writeHeadメソッドはwriteの前に呼び出す必要があります。どちらもendの前に呼び出され、endはすべての応答ヘッダーと本体が送信されていることをサーバーに信号します。

node.jsで「node-http-server」パッケージを使用する方法は?

node-http-serverは、node.jsのシンプルで簡単に構成できるHTTPまたはHTTPSサーバーです。それを使用するには、最初にnpm install node-http-serverを実行してNPM(ノードパッケージマネージャー)を使用してインストールする必要があります。インストール後、node.jsファイルに導入し、そのdeployメソッドを使用してサーバーを起動できます。 deployメソッドは、構成オブジェクトをパラメーターとして使用し、ポート、ルート、ServerIndexなどのサーバーオプションを指定できます。

node.jsでHTTPリクエストと応答を処理する方法は?

Node.jsでは、モジュールを使用してHTTPリクエストと応答を処理できます。まず、

メソッドを使用してHTTPサーバーを作成する必要があります。このメソッドは、サーバーがリクエストを受信するたびに実行されるコールバック関数をパラメーターとして使用します。コールバック関数には2つのパラメーターがあります。 httpオブジェクトを使用して、URL、HTTPヘッダー、ペイロードなどのクライアント要求に関する情報を取得できます。 http.createServer()オブジェクトは、クライアントへの応答を送信するために使用されます。 requestメソッドを使用してhttpステータスコードとヘッダーを設定し、responseメソッドを使用して応答本体を記述し、requestメソッドを使用して応答を終了できます。 response

以上がnode.jsでHTTPサーバーを作成しますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
JavaScriptフレームワーク:最新のWeb開発のパワーJavaScriptフレームワーク:最新のWeb開発のパワーMay 02, 2025 am 12:04 AM

JavaScriptフレームワークのパワーは、開発を簡素化し、ユーザーエクスペリエンスとアプリケーションのパフォーマンスを向上させることにあります。フレームワークを選択するときは、次のことを検討してください。1。プロジェクトのサイズと複雑さ、2。チームエクスペリエンス、3。エコシステムとコミュニティサポート。

JavaScript、C、およびブラウザの関係JavaScript、C、およびブラウザの関係May 01, 2025 am 12:06 AM

はじめに私はあなたがそれを奇妙に思うかもしれないことを知っています、JavaScript、C、およびブラウザは正確に何をしなければなりませんか?彼らは無関係であるように見えますが、実際、彼らは現代のウェブ開発において非常に重要な役割を果たしています。今日は、これら3つの間の密接なつながりについて説明します。この記事を通して、JavaScriptがブラウザでどのように実行されるか、ブラウザエンジンでのCの役割、およびそれらが協力してWebページのレンダリングと相互作用を駆動する方法を学びます。私たちは皆、JavaScriptとブラウザの関係を知っています。 JavaScriptは、フロントエンド開発のコア言語です。ブラウザで直接実行され、Webページが鮮明で興味深いものになります。なぜJavascrを疑問に思ったことがありますか

node.jsは、型を使用してストリーミングしますnode.jsは、型を使用してストリーミングしますApr 30, 2025 am 08:22 AM

node.jsは、主にストリームのおかげで、効率的なI/Oで優れています。 ストリームはデータを段階的に処理し、メモリの過負荷を回避します。大きなファイル、ネットワークタスク、リアルタイムアプリケーションの場合。ストリームとTypeScriptのタイプの安全性を組み合わせることで、パワーが作成されます

Python vs. JavaScript:パフォーマンスと効率の考慮事項Python vs. JavaScript:パフォーマンスと効率の考慮事項Apr 30, 2025 am 12:08 AM

PythonとJavaScriptのパフォーマンスと効率の違いは、主に以下に反映されています。1)解釈された言語として、Pythonはゆっくりと実行されますが、開発効率が高く、迅速なプロトタイプ開発に適しています。 2)JavaScriptはブラウザ内の単一のスレッドに限定されていますが、マルチスレッドおよび非同期I/Oを使用してnode.jsのパフォーマンスを改善でき、両方とも実際のプロジェクトで利点があります。

JavaScriptの起源:その実装言語の調査JavaScriptの起源:その実装言語の調査Apr 29, 2025 am 12:51 AM

JavaScriptは1995年に発信され、Brandon Ikeによって作成され、言語をCに実現しました。 2。JavaScriptのメモリ管理とパフォーマンスの最適化は、C言語に依存しています。 3. C言語のクロスプラットフォーム機能は、さまざまなオペレーティングシステムでJavaScriptを効率的に実行するのに役立ちます。

舞台裏:JavaScriptをパワーする言語は何ですか?舞台裏:JavaScriptをパワーする言語は何ですか?Apr 28, 2025 am 12:01 AM

JavaScriptはブラウザとnode.js環境で実行され、JavaScriptエンジンに依存してコードを解析および実行します。 1)解析段階で抽象的構文ツリー(AST)を生成します。 2)ASTをコンパイル段階のバイトコードまたはマシンコードに変換します。 3)実行段階でコンパイルされたコードを実行します。

PythonとJavaScriptの未来:傾向と予測PythonとJavaScriptの未来:傾向と予測Apr 27, 2025 am 12:21 AM

PythonとJavaScriptの将来の傾向には、1。Pythonが科学コンピューティングの分野での位置を統合し、AI、2。JavaScriptはWebテクノロジーの開発を促進します。どちらもそれぞれのフィールドでアプリケーションシナリオを拡大し続け、パフォーマンスをより多くのブレークスルーを行います。

Python vs. JavaScript:開発環境とツールPython vs. JavaScript:開発環境とツールApr 26, 2025 am 12:09 AM

開発環境におけるPythonとJavaScriptの両方の選択が重要です。 1)Pythonの開発環境には、Pycharm、Jupyternotebook、Anacondaが含まれます。これらは、データサイエンスと迅速なプロトタイピングに適しています。 2)JavaScriptの開発環境には、フロントエンドおよびバックエンド開発に適したnode.js、vscode、およびwebpackが含まれます。プロジェクトのニーズに応じて適切なツールを選択すると、開発効率とプロジェクトの成功率が向上する可能性があります。

See all articles

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

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

ホットツール

SAP NetWeaver Server Adapter for Eclipse

SAP NetWeaver Server Adapter for Eclipse

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

MinGW - Minimalist GNU for Windows

MinGW - Minimalist GNU for Windows

このプロジェクトは osdn.net/projects/mingw に移行中です。引き続きそこでフォローしていただけます。 MinGW: GNU Compiler Collection (GCC) のネイティブ Windows ポートであり、ネイティブ Windows アプリケーションを構築するための自由に配布可能なインポート ライブラリとヘッダー ファイルであり、C99 機能をサポートする MSVC ランタイムの拡張機能が含まれています。すべての MinGW ソフトウェアは 64 ビット Windows プラットフォームで実行できます。

SecLists

SecLists

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

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

強力な PHP 統合開発環境