TIL#45ノード)HTTPとExpressモジュール
8568 ワード
HTTPモジュール
HTTPという名前のノード.jsが使用するサーバモジュール.HTTP Webサーバのすべての関連機能を作成します.HTTPモジュールは、サーバオブジェクト、リクエストオブジェクト、およびレスポンスオブジェクトを使用します.
[サーバオブジェクト]
HTTPモジュールのcreateServer()メソッドを使用してサーバオブジェクトを作成します.
-方法
listen(port, callback)
:サーバを実行しクライアントを待つ.close(callback)
:サーバーをシャットダウンします.request
:クライアントがサーバを要求したときに発生したイベントconnection
:クライアント接続時に発生したイベントclientError
:クライアントにエラーが発生した場合に発生するイベントclose
:サーバー停止時に発生したイベントクライアントがサーバに送信するメッセージ(情報)を含むオブジェクト.
-属性
サーバからクライアントに応答メッセージを送信するオブジェクト.
-方法
writeHead(statusCode, statusMessage, headers)
:解答用紙を記入する.end(data, encoding, callback)
:回答本文を書く.HTTPモジュール例
http.createServer((req, res) => {
res.writeHead(200, {'content-type':'text/html'});
res.end('<!DOCTYPE html><html lang="en">
<head>
<meta charset="UTF-8">
<title>node.js</title>
</head>
<body>
<p>node.js 웹서버</p>
</body></html>');
}).listen(3000, () =>{
console.log('서버 실행중...');
});
Expressモジュール
ExpressモジュールもHTTPモジュールのようにサーバモジュールです.HTTPモジュールを使用してWebサーバを構成するだけで、多くの機能を独自に開発する必要があります.これらの問題を解決するために作成されたモジュールがExpressです.
Expressモジュールはrequest、responseオブジェクトに追加されました.したがって,簡単なコードを用いてWebサーバの大部分の機能を実現し,ミドルウェアとルータを用いてWebサーバを容易に構成することができる.
[リクエストオブジェクト]
requestオブジェクトはHTTPモジュールに比べていくつかの新しい方法と属性があります.
-属性
params:ルーティングパラメータの抽出
Query:要求パラメータの抽出
ヘッダー:要求ヘッダーの抽出
-方法header()
:要求ヘッダの属性の指定または抽出accepts(type)
:要求ヘッダの受入属性をチェックするis(type)
:要求ヘッダのContent-Type属性をチェック
[レスポンスオブジェクト]
requestオブジェクトにはHTTPモジュールよりも多くの機能が追加されています.
-方法response.send(value)
:パラメータの資料型により、適切な形式で表示されます.response.json(value)
:JSON形式で戻る.response.jsonp(value)
:JSONP形式で戻る.reponse.redirect(status, path)
:Webページのパスを移動します.
Expressモジュールの例
const app = express(); // 생성자
const port = 3000;
app.get('/', (req, res) => {
res.send('익스프레스 서버 테스트!');
});
app.listen( port, () => {
console.log(`${port} 포트로 서버 실행중...`);
});
Reference
この問題について(TIL#45ノード)HTTPとExpressモジュール), 我々は、より多くの情報をここで見つけました
https://velog.io/@threeplef/TIL45-Node-HTTP와-Express-모듈
テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol
const app = express(); // 생성자
const port = 3000;
app.get('/', (req, res) => {
res.send('익스프레스 서버 테스트!');
});
app.listen( port, () => {
console.log(`${port} 포트로 서버 실행중...`);
});
Reference
この問題について(TIL#45ノード)HTTPとExpressモジュール), 我々は、より多くの情報をここで見つけました https://velog.io/@threeplef/TIL45-Node-HTTP와-Express-모듈テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol