Rumah > hujung hadapan web > Soal Jawab bahagian hadapan > Kaedah dan teknik untuk mengendalikan permintaan menggunakan Node.js

Kaedah dan teknik untuk mengendalikan permintaan menggunakan Node.js

PHPz
Lepaskan: 2023-04-06 09:27:49
asal
1034 orang telah melayarinya

Node.js ialah bahasa pengaturcaraan bahagian pelayan berdasarkan JavaScript Kemunculannya menjadikan pembangunan web lebih pantas dan cekap. Kelebihan utama Node.js ialah keupayaannya untuk mengendalikan operasi I/O serta kebolehsuaian, kebolehskalaan dan kemudahan penggunaannya. Dalam artikel ini, kami akan meneroka kaedah dan teknik tentang cara mengendalikan permintaan menggunakan Node.js.

1. Modul HTTP Node.js

Modul HTTP Node.js menyediakan cara untuk mengendalikan permintaan HTTP, yang boleh membantu anda membina pelayan web yang ringkas dan cekap. Modul HTTP mengandungi beberapa kelas, fungsi dan acara penting:

  1. http.createServer() - Buat contoh pelayan HTTP.
  2. permintaan - objek permintaan, dibuat secara automatik apabila klien memulakan permintaan HTTP.
  3. respons - Objek respons yang digunakan untuk menghantar respons HTTP kepada klien.
  4. dengar() - Dengar pada port dan tunggu klien meminta sambungan.

Berikut ialah contoh penggunaan modul HTTP untuk mencipta pelayan web:

const http = require('http');
const server = http.createServer((req, res) => {
    res.writeHead(200, {'Content-Type': 'text/plain'});
    res.end('Hello World!');
});
server.listen(3000, () => {
    console.log('Server running at http://localhost:3000');
});
Salin selepas log masuk

Kod di atas mencipta pelayan web yang berjalan pada port tempatan 3000. Setiap kali permintaan pelanggan Apabila pelayan menghantar permintaan, pelayan akan membalas "Hello World!"

2. Proses pemprosesan permintaan

Proses pemprosesan permintaan Node.js adalah sangat mudah, seperti yang ditunjukkan dalam rajah di bawah:

Kaedah dan teknik untuk mengendalikan permintaan menggunakan Node.js

Seperti yang ditunjukkan dalam rajah di atas Menunjukkan bahawa apabila klien menghantar permintaan kepada pelayan Web, pelayan akan memanggil fungsi createServer dalam modul HTTP untuk mencipta contoh pelayan HTTP. Pada masa ini, pelayan akan mendengar port yang ditentukan dan menunggu permintaan sambungan pelanggan. Setelah klien mewujudkan sambungan, objek permintaan (permintaan) dibuat, yang mengandungi semua maklumat yang dihantar oleh klien, seperti pengepala permintaan, badan permintaan, dsb. Pelayan boleh memproses permintaan berdasarkan objek permintaan, menjana objek tindak balas (respon), dan menghantar objek tindak balas kepada klien Pelanggan menutup sambungan selepas menerima respons.

3. Memproses permintaan

Dalam Node.js, anda boleh mendapatkan pelbagai maklumat untuk memproses permintaan melalui objek req, termasuk pengepala permintaan, badan permintaan, dsb. Pada masa yang sama, kita juga perlu memahami konsep penghalaan (router) dalam Node.js. Penghalaan ialah cara untuk menentukan cara aplikasi bertindak balas terhadap permintaan, terutamanya termasuk laluan URL dan kaedah permintaan HTTP.

Berikut ialah contoh memproses permintaan Dapatkan dan Hantar:

const http = require('http');
const querystring = require('querystring');

http.createServer((req, res) => {
    let method = req.method;
    let url = req.url;
    let body = '';
    req.on('data', (chunk) => {
        body += chunk;
    });
    req.on('end', () => {
        let params;
        if (method == 'GET') {
            params = url.split('?')[1];
            console.log(params);
        } else {
            params = querystring.parse(body);
            console.log(params);
        }
        res.end('Hello ' + params.name);
    });
}).listen(3000, () => {
    console.log('Server running at http://localhost:3000');
});
Salin selepas log masuk

Kod di atas menunjukkan cara mengendalikan permintaan Dapatkan dan Siar dan menggunakan modul rentetan pertanyaan untuk menghuraikan kandungan permintaan. Apabila URL ialah http://localhost:3000/?name=Node.js, pelayan akan mengeluarkan "Hello Node.js". Apabila menghantar permintaan Post, pelayan akan mengeluarkan nilai atribut nama dalam badan permintaan.

4. Mengehadkan akses dan pengendalian ralat

Dalam pembangunan web, kita selalunya perlu menyekat akses dan pengendalian ralat pada pelayan. Node.js menyediakan beberapa modul terbina dalam untuk menyelesaikan tugasan ini, termasuk http-errors, cors, morgan dan helmet.

Ralat http: Boleh digunakan untuk membuat respons ralat HTTP, seperti 404, 500, dsb.

kor: boleh digunakan dalam perisian tengah untuk menyelesaikan masalah merentas domain.

morgan: Boleh digunakan untuk merekod maklumat log tentang setiap permintaan.

topi keledar: Anda boleh meningkatkan keselamatan pelayan, seperti dengan menambahkan maklumat pengepala HTTP untuk melindungi pelayan daripada serangan web tertentu.

Berikut ialah contoh penggunaan pengendalian ralat dan menyekat akses:

const http = require('http');
const createError = require('http-errors');
const express = require('express');
const cors = require('cors');
const morgan = require('morgan');
const helmet = require('helmet');

const app = express();

// 添加错误管理中间件
app.use((err, req, res, next) => {
    if (err && err.status == 404) {
        res.status(404).send('404 not found');
    } else {
        res.status(500).send('500 Internal Server Error');
    }
});

// 使用中间件
app.use(cors());
app.use(morgan('combined'));
app.use(helmet());

// 定义路由
app.get('/', (req, res) => {
    res.send('Hello World!');
})

// 监听端口
http.createServer(app).listen(3000, () => {
    console.log('Server running at http://localhost:3000');
});
Salin selepas log masuk

Kod di atas menunjukkan cara menggunakan pengendalian ralat dan menyekat perisian tengah akses. Antaranya, perisian tengah seperti http-errors, cors, morgan, dan helmet boleh digunakan untuk meningkatkan keselamatan dan ketersediaan pelayan dan mengurangkan kerumitan kod.

Ringkasan

Artikel ini memperkenalkan kaedah dan teknik tentang cara menggunakan Node.js untuk mengendalikan permintaan, termasuk modul HTTP, proses pemprosesan permintaan, permintaan pemprosesan, pengehadan akses dan pengendalian ralat, dsb. Node.js telah membawa perubahan ketara kepada pembangunan web, yang boleh membantu pengaturcara memendekkan kitaran pembangunan dan meningkatkan kecekapan pembangunan. Jika anda masih mempunyai soalan tentang Node.js, anda boleh merujuk kepada dokumentasi rasmi atau melawati tapak web tutorial lain.

Atas ialah kandungan terperinci Kaedah dan teknik untuk mengendalikan permintaan menggunakan Node.js. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan