TodayILearn15
13115 ワード
叱られるべき人==私
ううう
お父さんとお母さんは...
nodejsを勉強しています
第二節から勉強を再開します!
実はha 2から離れて...また来ます.名学習
プロミスはいつ書くべきか知っていますが、まだ勉強しています.
非同期ストリームはノードです.jsのコア!
node.jsを使うみたいですね?
=httpとapiを再学習します.
Node.js HTTP処理プロセスを理解する.
言語やプログラミング環境にかかわらず、HTTPリクエストの常識的な動作を理解する必要があります.
const http = require('http');
http.createServer((request, response) => {
const { headers, method, url } = request;
let body = [];
request.on('error', (err) => {
console.error(err);
}).on('data', (chunk) => {
body.push(chunk);
}).on('end', () => {
body = Buffer.concat(body).toString();
// 여기서부터 새로운 부분입니다.
response.on('error', (err) => {
console.error(err);
});
response.statusCode = 200;
response.setHeader('Content-Type', 'application/json');
// 주의: 위 두 줄은 다음 한 줄로 대체할 수도 있습니다.
// response.writeHead(200, {'Content-Type': 'application/json'})
const responseBody = { headers, method, url, body };
response.write(JSON.stringify(responseBody));
response.end();
// 주의: 위 두 줄은 다음 한 줄로 대체할 수도 있습니다.
// response.end(JSON.stringify(responseBody))
// 새로운 부분이 끝났습니다.
});
}).listen(8080);
基本構文
サーバー・オブジェクトの作成
-> http.createServer();
->処理要求{メソッド,url,ヘッダ}=request;(割り当て構造分解…?)
->ヘッダグループ化プロセス
->post/put crudタスクのリクエストマスターの宣言
->要求オブジェクトストリームをハンドラに接続する
->ストリームにデータを登録し、endイベントにイベントリスナーを登録する
->データの受信
97 httpステータスコード
リンクテキスト
✍ 200 OK
✍ 202 Accepted
リクエストは受信されましたが、リクエストに応答できません.この応答は、後で処理要求の結果をHTTPに送信する非同期応答を明示していない.
✍ 404 Not Found
サーバに要求されたリソースが見つかりません.ブラウザは未知のURLを表します.
要求主体
let body = [];
request.on('data', (chunk) => {
body.push(chunk);
}).on('end', () => {
body = Buffer.concat(body).toString();
// 여기서 `body`에 전체 요청 바디가 문자열로 담겨있습니다.
//버퍼를 하는 이유는?
});
エラーの概要
request.on('error', (err) => {
// 여기서 `stderr`에 오류 메시지와 스택 트레이스를 출력합니다.
console.error(err.stack);
});
明示的ヘッダデータ転送
response.writeHead(200, {
'Content-Type': 'application/json',
'X-Powered-By': 'bacon'
});
レスポンス本体転送
応答オブジェクトはWritableStreamであるため、クライアントに送信された応答ボディは通常のストリームメソッドを使用して作成されます.
response.write('<html>');
response.write('<body>');
response.write('<h1>Hello, World!</h1>');
response.write('</body>');
response.write('</html>');
response.end();
Reference
この問題について(TodayILearn15), 我々は、より多くの情報をここで見つけました https://velog.io/@ww3ysq/TodayILearn15テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol