Node.js httpを使用したサーバの作成
これはexpressモジュールを使用せずにhttpを使用してサーバを作成するための努力です.
サーバの作成
サーバの作成
Node.js公式ドキュメントのhttp使用例.const http = require('http');
const hostname = '127.0.0.1';
const port = 3000;
const server = http.createServer((req, res) => {
res.statusCode = 200;
res.setHeader('Content-Type', 'text/plain');
res.end('Hello, World!\n');
});
server.listen(port, hostname, () => {
console.log(`Server running at http://${hostname}:${port}/`);
});
-createServerを使用したサーバーの作成
createServerを使用してサーバを作成できます.
ステータスコードはstatusCodeによって200と定められている.
200は、サーバが要求を正常に処理したことを示す.
setHeaderでタイトルを設定します.res.setHeader('Content-Type', 'text/plain');
は、コンテンツタイプがテキストであることを示す.
endによって応答を終了します.
-listenを使用してサーバーを待機
このパスにlistenで接続する場合は、サーバの応答を待ってください.
ルーティングの処理
expressを使用する場合はget()で要求をパス処理できますが、HTTPのみでサーバを構築する場合はif文で要求を直接処理する必要があります.
ルーティングを簡素化します.const http = require('http');
const fs = require('fs');
const hostname = '127.0.0.1';
const port = 3000;
const server = http.createServer((req, res) => {
if(req.url == '/'){
res.writeHeader(200, { 'Content-Type', 'text/html' });
res.end(fs.readFile('/index.html'));
}else{
}
res.statusCode = 200;
res.setHeader('Content-Type', 'text/plain');
res.end('Hello, World!\n');
});
server.listen(port, hostname, () => {
console.log(`Server running at http://${hostname}:${port}/`);
});
実際の開発では、上記の方法を1つのファイルに配置し、ルーティングに関連するコードを個別に作成および削除することが望ましい.
-HSTPメソッド処理
上記ルーティング処理でHTTPメソッド(POST、GETなど)を処理する場合、if文はさらに複雑になる.
エラー処理も必要で、追加すると大変なことになるかもしれません.
-静的ファイル
上記のコードではhtmlのみを送信していますが、実際には、Webサイトに戻るには、htmlやcssやjsなどの静的ファイルを送信する必要があります.
expressには静的ファイルを提供する機能がありますが、expressを使用しないため、コンテンツタイプが各ファイルに適しているようにコードを書く必要があります.
例に示すように.
の最後の部分
Node.js expressではなくhttpでWebサーバを開発したいだけです.しかし、これは私が初めて勉強したので、速度が遅すぎたので、ルーティング処理であきらめました.現在のルートは反応器方向に発展しているが,今後はルーティング処理を自ら開発したい.私たちが得た知識と経験は今後の旅に役立つと信じています.
Reference
この問題について(Node.js httpを使用したサーバの作成), 我々は、より多くの情報をここで見つけました
https://velog.io/@heony/node.js-server-http
テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol
const http = require('http');
const hostname = '127.0.0.1';
const port = 3000;
const server = http.createServer((req, res) => {
res.statusCode = 200;
res.setHeader('Content-Type', 'text/plain');
res.end('Hello, World!\n');
});
server.listen(port, hostname, () => {
console.log(`Server running at http://${hostname}:${port}/`);
});
expressを使用する場合はget()で要求をパス処理できますが、HTTPのみでサーバを構築する場合はif文で要求を直接処理する必要があります.
ルーティングを簡素化します.
const http = require('http');
const fs = require('fs');
const hostname = '127.0.0.1';
const port = 3000;
const server = http.createServer((req, res) => {
if(req.url == '/'){
res.writeHeader(200, { 'Content-Type', 'text/html' });
res.end(fs.readFile('/index.html'));
}else{
}
res.statusCode = 200;
res.setHeader('Content-Type', 'text/plain');
res.end('Hello, World!\n');
});
server.listen(port, hostname, () => {
console.log(`Server running at http://${hostname}:${port}/`);
});
実際の開発では、上記の方法を1つのファイルに配置し、ルーティングに関連するコードを個別に作成および削除することが望ましい.-HSTPメソッド処理
上記ルーティング処理でHTTPメソッド(POST、GETなど)を処理する場合、if文はさらに複雑になる.
エラー処理も必要で、追加すると大変なことになるかもしれません.
-静的ファイル
上記のコードではhtmlのみを送信していますが、実際には、Webサイトに戻るには、htmlやcssやjsなどの静的ファイルを送信する必要があります.
expressには静的ファイルを提供する機能がありますが、expressを使用しないため、コンテンツタイプが各ファイルに適しているようにコードを書く必要があります.
例に示すように.
の最後の部分
Node.js expressではなくhttpでWebサーバを開発したいだけです.しかし、これは私が初めて勉強したので、速度が遅すぎたので、ルーティング処理であきらめました.現在のルートは反応器方向に発展しているが,今後はルーティング処理を自ら開発したい.私たちが得た知識と経験は今後の旅に役立つと信じています.
Reference
この問題について(Node.js httpを使用したサーバの作成), 我々は、より多くの情報をここで見つけました
https://velog.io/@heony/node.js-server-http
テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol
Reference
この問題について(Node.js httpを使用したサーバの作成), 我々は、より多くの情報をここで見つけました https://velog.io/@heony/node.js-server-httpテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol