Node.js ialah persekitaran JavaScript sisi pelayan berdasarkan model I/O yang dipacu peristiwa dan tidak menyekat, yang boleh digunakan untuk membina aplikasi web yang cekap dan berskala. Untuk proses pemprosesan permintaan Node.js, kami perlu menumpukan pada pelaksanaan pelayan HTTP dan penghalaan masing-masing.
Pelayan HTTP
Modul pelayan HTTP Node.js Modul http menyediakan kaedah createServer() untuk mencipta pelayan HTTP. Setiap kali pelanggan menghantar permintaan kepada pelayan, kaedah ini akan mengembalikan contoh Pelayan, membolehkan kami memantau dan membalas kejadian ini.
Buat pelayan HTTP
const http = require('http'); http.createServer((request, response) => { // 请求处理 }).listen(8080);
Acara permintaan pelayan HTTP
Setiap kali pengguna menghantar permintaan HTTP ke pelayan, pelayan akan menjana objek dan Pencetus http.IncomingMessage secara automatik peristiwa permintaan, yang melaluinya kami boleh menerima dan memproses permintaan HTTP. Objek http.IncomingMessage juga mengandungi semua data yang dibawa oleh permintaan, seperti laluan permintaan, kaedah permintaan, pengepala permintaan, badan permintaan, dsb.
const http = require('http'); http.createServer((request, response) => { // request事件 request.on('data', (chunk) => { console.log(chunk.toString()); }); // 处理请求 response.writeHead(200, {'Content-Type': 'text/plain'}); response.end('Hello World '); }).listen(8080);
Penghalaan
Penghalaan merujuk pada pemadanan pemproses yang sepadan mengikut laluan permintaan URL untuk mencapai kaedah dan kesan akses URL yang berbeza.
Pelaksanaan penghalaan
Kami boleh menggunakan objek JavaScript untuk menyimpan kaedah pengendali yang sepadan dengan URL yang berbeza, dan kemudian memadankan objek mengikut laluan permintaan dalam acara permintaan pelayan http, oleh itu Cari kaedah pemproses yang sepadan untuk pemprosesan.
const http = require('http'); const urlHandler = { '/': function(request, response) { response.writeHead(200, {'Content-Type': 'text/plain'}); response.end('Hello World '); }, '/about': function(request, response) { response.writeHead(200, {'Content-Type': 'text/plain'}); response.end('About page '); } }; http.createServer((request, response) => { const path = request.url; if (urlHandler[path]) { urlHandler[path](request, response); } else { response.writeHead(404, {'Content-Type': 'text/plain'}); response.end('404 Not Found '); } }).listen(8080);
Di atas adalah pelaksanaan mudah proses pemprosesan permintaan Node.js Melalui kerja kolaboratif pelayan HTTP dan modul penghalaan, kami boleh membina pelayan web yang cekap dan berskala untuk melaksanakan pelbagai aplikasi web yang menarik. program.
Atas ialah kandungan terperinci proses permintaan nodejs. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!