Node.js

【Node.js】httpサーバーを立ち上げる その3(サーバーが同時に処理することができる最大接続数を変更)

Node.jsでhttpサーバーを立ち上げる。
サーバーが同時に処理することができる最大接続数を変更する。
最大接続数を1つに設定しておく。
これにより1台目のPCでアクセスして2代目のPCでアクセスすると繋がらなくなる。
server.maxConnectionsで設定可能である。

環境
Windows10(64bit)
nvm(Node Version Manager)を使用する。
nvmはnodeとnpmのバージョンの切り替えができる。
node.jsはアップデートが頻繁に行われるため、バージョン管理ツールを使うと都合が良いことが多い。
「特定のプロジェクトに必要なNode.jsのバージョンを簡単にインストールして使用することができる。」や「プロジェクト毎にNode.jsのバージョンの切り替えが簡単になる。」等のメリットがある。
nvm 1.1.10
node v18.15.0
npm 9.5.0

続きを読む

【Node.js】httpサーバーを立ち上げる その2(TCP接続の確立と切断の検出)

Node.jsでhttpサーバーを立ち上げる。
TCP接続が確立された時とTCP接続閉じた時にコマンドプロンプトにログを出すようにする。
それと、keep-alive機能を無効にするにはserver.keepAliveTimeout = 0;としたらいいらしい。
しかし、server.keepAliveTimeout = 0;としてもclosedが2回実行されているから無効にならないみたい。

環境
Windows10(64bit)
nvm(Node Version Manager)を使用する。
nvmはnodeとnpmのバージョンの切り替えができる。
node.jsはアップデートが頻繁に行われるため、バージョン管理ツールを使うと都合が良いことが多い。
「特定のプロジェクトに必要なNode.jsのバージョンを簡単にインストールして使用することができる。」や「プロジェクト毎にNode.jsのバージョンの切り替えが簡単になる。」等のメリットがある。
nvm 1.1.10
node v18.15.0
npm 9.5.0

続きを読む

【Node.js】httpモジュールのStream API

Node.jsのhttpモジュールには、Readable StreamとWritable Streamという2つのStream APIがある。
http.IncomingMessageオブジェクトは、Readable Streamであり、Streamの一部(Streamのサブセット)として扱われる。
これはデータの読み込みに使用される。
一方、http.ServerResponseオブジェクトは、Writable Streamであり、Streamの一部(Streamのサブセット)として扱われる。これはデータの書き込みに使用される。
つまり、http.IncomingMessageはデータの受信側、http.ServerResponseはデータの送信側として機能する。
http/1.1にはstreamという仕組みは存在しない。
しかし、Node.jsにはStream APIが存在する。
http/2にはstreamという仕組みが存在する。

http/2のstreamとNode.jsは現在勉強中。

続きを読む

【Node.js】classのsuper

classのsuper()の使い方がよく分からないから調べてみた。
super()は親クラスのconstructor()を呼び出す

環境
Windows10(64bit)
nvm(Node Version Manager)を使用する。
nvmはnodeとnpmのバージョンの切り替えができる。
node.jsはアップデートが頻繁に行われるため、バージョン管理ツールを使うと都合が良いことが多い。
「特定のプロジェクトに必要なNode.jsのバージョンを簡単にインストールして使用することができる。」や「プロジェクト毎にNode.jsのバージョンの切り替えが簡単になる。」等のメリットがある。
nvm 1.1.10
node v18.15.0
npm 9.5.0

続きを読む

【Node.js】httpsクライアント(POSTリクエスト)その2

httpクライアント(POSTリクエスト)とは、Node.jsでサーバーのURLにPOSTリクエストを送る。
ブラウザでサーバーにアクセスする場合はPOSTリクエストをサーバーに送っている。
このPOSTリクエストをNode.jsで行う。
このPOSTリクエストを送信するときにデータをchunk分割してサーバーに送信する。

環境
Windows10(64bit)
nvm(Node Version Manager)を使用する。
nvmはnodeとnpmのバージョンの切り替えができる。
node.jsはアップデートが頻繁に行われるため、バージョン管理ツールを使うと都合が良いことが多い。
「特定のプロジェクトに必要なNode.jsのバージョンを簡単にインストールして使用することができる。」や「プロジェクト毎にNode.jsのバージョンの切り替えが簡単になる。」等のメリットがある。
nvm 1.1.10
node v18.15.0
npm 9.5.0

続きを読む

【Node.js】httpsクライアント(POSTリクエスト)その1

httpsクライアント(POSTリクエスト)とは、Node.jsでサーバーのURLにPOSTリクエストを送る。
ブラウザでサーバーにアクセスする場合はPOSTリクエストをサーバーに送っている。
このPOSTリクエストをNode.jsで行う。

環境
Windows10(64bit)
nvm(Node Version Manager)を使用する。
nvmはnodeとnpmのバージョンの切り替えができる。
node.jsはアップデートが頻繁に行われるため、バージョン管理ツールを使うと都合が良いことが多い。
「特定のプロジェクトに必要なNode.jsのバージョンを簡単にインストールして使用することができる。」や「プロジェクト毎にNode.jsのバージョンの切り替えが簡単になる。」等のメリットがある。
nvm 1.1.10
node v18.15.0
npm 9.5.0

続きを読む

【Node.js】httpsクライアント(GETリクエスト)

httpsクライアント(GETリクエスト)とは、Node.jsでサーバーのURLにGETリクエストを送る。
ブラウザでサーバーにアクセスする場合はGETリクエストをサーバーに送っている。
このGETリクエストをNode.jsで行う。

HTTPS通信において、GETリクエストのデータをchunk分割して送信するという概念自体はありえる。
しかし、通常の使用ではGETリクエストにはリクエストボディが含まれないため、チャンク分割は必要ない。
Internet ExplorerのURLの最大長は2083文字なので、だいたい、この2083文字の中に収まるクエリ文字列の長さだと正常に動くはず。

環境
Windows10(64bit)
nvm(Node Version Manager)を使用する。
nvmはnodeとnpmのバージョンの切り替えができる。
node.jsはアップデートが頻繁に行われるため、バージョン管理ツールを使うと都合が良いことが多い。
「特定のプロジェクトに必要なNode.jsのバージョンを簡単にインストールして使用することができる。」や「プロジェクト毎にNode.jsのバージョンの切り替えが簡単になる。」等のメリットがある。
nvm 1.1.10
node v18.15.0
npm 9.5.0

続きを読む

自己署名証明書(オレオレ証明書)を使ってHTTPSサーバーをNode.jsで立ち上げる(windows10) その2

前回の記事
自己署名証明書(オレオレ証明書)を使ってHTTPSサーバーをNode.jsで立ち上げる(windows10) その1 (attacktube.com)

HTTPSサーバーを立ち上げる。
前回作ったコードをより細かくする。
HTTPSサーバーを立ち上げるコード「https.js」を次に示す。
現地時間を取得するために自作モジュールLocalTime.jsを使用している。

環境
Windows10(64bit)
nvm(Node Version Manager)を使用する。
nvmはnodeとnpmのバージョンの切り替えができる。
node.jsはアップデートが頻繁に行われるため、バージョン管理ツールを使うと都合が良いことが多い。
「特定のプロジェクトに必要なNode.jsのバージョンを簡単にインストールして使用することができる。」や「プロジェクト毎にNode.jsのバージョンの切り替えが簡単になる。」等のメリットがある。
nvm 1.1.10
node v18.15.0
npm 9.5.0

続きを読む

【Node.js】httpクライアント(POSTリクエスト)その2

httpクライアント(POSTリクエスト)とは、Node.jsでサーバーのURLにPOSTリクエストを送る。
ブラウザでサーバーにアクセスする場合はPOSTリクエストをサーバーに送っている。
このPOSTリクエストをNode.jsで行う。
このPOSTリクエストを送信するときにデータをchunk分割してサーバーに送信する。

環境
Windows10(64bit)
nvm(Node Version Manager)を使用する。
nvmはnodeとnpmのバージョンの切り替えができる。
node.jsはアップデートが頻繁に行われるため、バージョン管理ツールを使うと都合が良いことが多い。
「特定のプロジェクトに必要なNode.jsのバージョンを簡単にインストールして使用することができる。」や「プロジェクト毎にNode.jsのバージョンの切り替えが簡単になる。」等のメリットがある。
nvm 1.1.10
node v18.15.0
npm 9.5.0

続きを読む

【Node.js】httpクライアント(POSTリクエスト)その1

httpクライアント(POSTリクエスト)とは、Node.jsでサーバーのURLにPOSTリクエストを送る。
ブラウザでサーバーにアクセスする場合はPOSTリクエストをサーバーに送っている。
このPOSTリクエストをNode.jsで行う。

環境
Windows10(64bit)
nvm(Node Version Manager)を使用する。
nvmはnodeとnpmのバージョンの切り替えができる。
node.jsはアップデートが頻繁に行われるため、バージョン管理ツールを使うと都合が良いことが多い。
「特定のプロジェクトに必要なNode.jsのバージョンを簡単にインストールして使用することができる。」や「プロジェクト毎にNode.jsのバージョンの切り替えが簡単になる。」等のメリットがある。
nvm 1.1.10
node v18.15.0
npm 9.5.0

続きを読む