Membuat pelayan HTTP di Node.js
Bina pelayan http node.js
mata utama
- node.js membolehkan untuk membuat pelayan HTTP yang mudah, langkah utama adalah untuk membuat fail baru, masukkan kod yang sesuai dan jalankan pelayan. Pelayan boleh diakses melalui penyemak imbas web melalui localhost atau alamat IP mesin.
- Fungsi pelayan dibina di atas kaedah
- (memuatkan modul) dan kaedah
require()
modulhttp
(membuat pelayan dan melaksanakan fungsi panggil balik untuk setiap permintaan baru). Fungsi panggil balik menggunakan dua parameter (permintaan dan tindak balas) untuk memproses permintaan klien dan mengembalikan data.createServer()
Server menggunakan kaedah - untuk menghantar kod status HTTP dan tajuk tindak balas kembali ke klien, menulis ke halaman HTML menggunakan
response.writeHead()
, dan menamatkan respons menggunakanresponse.write()
. Pelayan menggunakan kaedahresponse.end()
untuk mendengar sambungan masuk. Pada masa ini, pelayan hanya boleh mengembalikan satu halaman HTML tunggal, dan peningkatan masa depan mungkin termasuk membaca laman web dari sistem fail dan mengintegrasikan pengesahan HTTP.listen()
menjalankan pelayan
Pertama, buat fail baru bernama "web_server.js". Masukkan kod berikut ke dalam fail dan simpan:
var http = require("http"); var server = http.createServer(function(request, response) { response.writeHead(200, {"Content-Type": "text/html"}); response.write("<!DOCTYPE html>"); response.write("<html>"); response.write("<head>"); response.write("<title>Hello World Page</title>"); response.write("</head>"); response.write("<body>"); response.write("Hello World!"); response.write("</body>"); response.write("</html>"); response.end(); }); server.listen(80); console.log("Server is listening");
node web_server.js
<code>http://localhost http://127.0.0.1</code>
Bagaimana pelayan berfungsi
Sekarang pelayan sedang berjalan dan berjalan, sudah tiba masanya untuk menganalisis kod tersebut. Perkara pertama yang perlu diperhatikan ialah panggilan require()
pada baris 1. Node.js menyediakan sistem modul mudah dengan komuniti pemaju yang besar. Program Node.js boleh menggunakan kaedah require()
untuk memuatkan modul tunggal. Walaupun banyak modul perlu dimuat turun, beberapa modul (mis. http
modul http
untuk membuat pelayan HTTP. Seperti kebanyakan fungsi Node.js, createServer()
mengambil fungsi panggilan balik sebagai hujah. Fungsi panggil balik ini dilaksanakan setiap kali pelayan menerima permintaan baru. Fungsi panggil balik menerima dua parameter: permintaan dan tindak balas. Objek Permintaan mengandungi maklumat mengenai permintaan klien, seperti URL, tajuk HTTP, dll. Begitu juga, objek tindak balas digunakan untuk mengembalikan data kepada pelanggan. Fungsi panggil balik pertama memanggil kaedah createServer()
. Kaedah ini menghantar kod status HTTP dan satu set tajuk tindak balas kembali kepada pelanggan. Kod status digunakan untuk menunjukkan hasil permintaan. Sebagai contoh, semua orang telah mengalami ralat 404 sebelum ini, menunjukkan bahawa halaman tidak dapat dijumpai. Pelayan sampel mengembalikan kod 200, menunjukkan kejayaan. Sebagai tambahan kepada kod status, pelayan mengembalikan banyak tajuk HTTP yang menentukan parameter respons. Jika anda tidak menentukan tajuk, Node.js akan menghantarnya secara tersirat untuk anda. Pelayan sampel hanya menentukan header response.writeHead()
. Header khusus ini mentakrifkan jenis MIME respons. Untuk respons HTML, jenis MIME ialah "Teks/HTML". Seterusnya, pelayan melakukan beberapa panggilan ke Content-Type
. Panggilan ini digunakan untuk menulis ke halaman HTML. Secara lalai, pengekodan aksara UTF-8 digunakan. Secara teknikal, semua panggilan ini boleh digabungkan ke dalam satu panggilan untuk peningkatan prestasi. Walau bagaimanapun, untuk contoh yang mudah, prestasi dikorbankan untuk kebolehbacaan kod. Selepas menulis ke halaman HTML, kaedah response.write()
akan dipanggil. Dengan memanggil kaedah ini, kami memberitahu pelayan bahawa tajuk dan badan respons telah dihantar dan permintaan itu telah selesai. Server sampel panggilan response.end()
tanpa parameter. Walau bagaimanapun, jika anda hanya perlu menelefon sekali, end()
juga boleh dipanggil seperti end()
. Panggilan write()
pada baris 15 menyebabkan pelayan mengikat ke port dan mendengar sambungan masuk. Komputer mempunyai beribu -ribu pelabuhan yang bertindak sebagai titik akhir komunikasi. Untuk menyambung ke pelayan, pelanggan mesti tahu dengan tepat port mana pelayan sedang mendengar. Pelabuhan dikenal pasti oleh nombor port, dan pelayan HTTP biasanya mendengar port 80. listen()
Kesimpulan
Artikel ini memperkenalkan pelayan HTTP yang sangat asas. Dalam keadaan semasa, pelayan hanya boleh mengembalikan halaman HTML tunggal. Dalam beberapa minggu akan datang, kami akan menyelam ke dunia Node.js, meneroka ciri -ciri lain seperti membaca laman web dari sistem fail dan mengintegrasikan pengesahan HTTP.
FAQ untuk membuat pelayan HTTP (FAQ)
Apakah tujuan kaedah 'http.createserver ()' dalam node.js?
Kaedah http.createServer()
adalah fungsi terbina dalam dalam node.js untuk membuat contoh baru pelayan HTTP. Pelayan ini mendengar permintaan masuk dan menghantar respons. Ia memerlukan fungsi requestListener
sebagai hujah, yang secara automatik ditambah pada acara "Permintaan". Fungsi ini dipanggil setiap kali pelayan menerima permintaan. Fungsi requestListener
mempunyai dua parameter: request
(contoh http.IncomingMessage
) dan response
(contoh http.ServerResponse
).
Bagaimana kaedah 'response.writead ()' dalam kerja node.js?
Kaedah response.writeHead()
adalah fungsi dalam node.js yang menghantar tajuk respons kepada permintaan. Kaedah ini menerima dua parameter: kod status dan objek biasa yang mewakili tajuk tindak balas. Kod status adalah kod status HTTP 3-bit, dan parameter kedua adalah objek di mana setiap pasangan nilai utama mewakili nama header dan nilainya. Kaedah ini mesti dipanggil sebelum response.end()
dan hanya boleh dipanggil sekali setiap tindak balas.
Apakah perbezaan antara 'menulis' dan 'menulis' dalam node.js?
Kaedah dan write
dalam writeHead
node.js digunakan untuk menghantar respons pelayan. Kaedah writeHead
digunakan untuk menghantar kod status HTTP dan satu set tajuk tindak balas, manakala kaedah write
digunakan untuk menghantar badan respons kepada pelanggan. Kaedah writeHead
hendaklah dipanggil sebelum write
, kedua -duanya harus dipanggil sebelum end
, dan end
menandakan pelayan bahawa semua tajuk dan badan respons telah dihantar.
Bagaimana menggunakan pakej 'node-http-server' dalam node.js?
node-http-server
adalah http atau pelayan https yang mudah dan mudah untuk konfigurasi untuk node.js. Untuk menggunakannya, anda perlu memasangnya menggunakan NPM (Pengurus Pakej Node) dengan menjalankan npm install node-http-server
. Selepas pemasangan, anda boleh memperkenalkannya dalam fail Node.js dan mulakan pelayan menggunakan kaedah deploy
nya. Kaedah deploy
mengambil objek konfigurasi sebagai parameter di mana anda boleh menentukan pilihan pelayan seperti port, root, dan serverIndex.
Bagaimana menangani permintaan dan respons HTTP dalam node.js?
Dalam node.js, anda boleh menggunakan modul http
untuk mengendalikan permintaan dan respons HTTP. Pertama, anda perlu membuat pelayan HTTP menggunakan kaedah http.createServer()
. Kaedah ini mengambil fungsi panggil balik sebagai parameter, yang dilaksanakan setiap kali pelayan menerima permintaan. Fungsi panggil balik mempunyai dua parameter: request
dan response
. Objek request
boleh digunakan untuk mendapatkan maklumat mengenai permintaan klien, seperti URL, tajuk HTTP, dan muatan. Objek response
digunakan untuk menghantar respons kepada pelanggan. Anda boleh menetapkan kod status HTTP dan header menggunakan kaedah response.writeHead()
, menulis badan tindak balas menggunakan kaedah response.write()
, dan mengakhiri respons menggunakan kaedah response.end()
.
Atas ialah kandungan terperinci Membuat pelayan HTTP di Node.js. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

Video Face Swap
Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas











Enjin JavaScript yang berbeza mempunyai kesan yang berbeza apabila menguraikan dan melaksanakan kod JavaScript, kerana prinsip pelaksanaan dan strategi pengoptimuman setiap enjin berbeza. 1. Analisis leksikal: Menukar kod sumber ke dalam unit leksikal. 2. Analisis Tatabahasa: Menjana pokok sintaks abstrak. 3. Pengoptimuman dan Penyusunan: Menjana kod mesin melalui pengkompil JIT. 4. Jalankan: Jalankan kod mesin. Enjin V8 mengoptimumkan melalui kompilasi segera dan kelas tersembunyi, Spidermonkey menggunakan sistem kesimpulan jenis, menghasilkan prestasi prestasi yang berbeza pada kod yang sama.

Python lebih sesuai untuk pemula, dengan lengkung pembelajaran yang lancar dan sintaks ringkas; JavaScript sesuai untuk pembangunan front-end, dengan lengkung pembelajaran yang curam dan sintaks yang fleksibel. 1. Sintaks Python adalah intuitif dan sesuai untuk sains data dan pembangunan back-end. 2. JavaScript adalah fleksibel dan digunakan secara meluas dalam pengaturcaraan depan dan pelayan.

JavaScript adalah bahasa utama pembangunan web moden dan digunakan secara meluas untuk kepelbagaian dan fleksibiliti. 1) Pembangunan front-end: Membina laman web dinamik dan aplikasi satu halaman melalui operasi DOM dan kerangka moden (seperti React, Vue.js, sudut). 2) Pembangunan sisi pelayan: Node.js menggunakan model I/O yang tidak menyekat untuk mengendalikan aplikasi konkurensi tinggi dan masa nyata. 3) Pembangunan aplikasi mudah alih dan desktop: Pembangunan silang platform direalisasikan melalui reaktnatif dan elektron untuk meningkatkan kecekapan pembangunan.

Artikel ini menunjukkan integrasi frontend dengan backend yang dijamin oleh permit, membina aplikasi edtech SaaS yang berfungsi menggunakan Next.Js. Frontend mengambil kebenaran pengguna untuk mengawal penglihatan UI dan memastikan permintaan API mematuhi dasar peranan

Saya membina aplikasi SaaS multi-penyewa berfungsi (aplikasi edTech) dengan alat teknologi harian anda dan anda boleh melakukan perkara yang sama. Pertama, apakah aplikasi SaaS multi-penyewa? Aplikasi SaaS Multi-penyewa membolehkan anda melayani beberapa pelanggan dari Sing

Peralihan dari C/C ke JavaScript memerlukan menyesuaikan diri dengan menaip dinamik, pengumpulan sampah dan pengaturcaraan asynchronous. 1) C/C adalah bahasa yang ditaip secara statik yang memerlukan pengurusan memori manual, manakala JavaScript ditaip secara dinamik dan pengumpulan sampah diproses secara automatik. 2) C/C perlu dikumpulkan ke dalam kod mesin, manakala JavaScript adalah bahasa yang ditafsirkan. 3) JavaScript memperkenalkan konsep seperti penutupan, rantaian prototaip dan janji, yang meningkatkan keupayaan pengaturcaraan fleksibiliti dan asynchronous.

Penggunaan utama JavaScript dalam pembangunan web termasuk interaksi klien, pengesahan bentuk dan komunikasi tak segerak. 1) kemas kini kandungan dinamik dan interaksi pengguna melalui operasi DOM; 2) pengesahan pelanggan dijalankan sebelum pengguna mengemukakan data untuk meningkatkan pengalaman pengguna; 3) Komunikasi yang tidak bersesuaian dengan pelayan dicapai melalui teknologi Ajax.

Aplikasi JavaScript di dunia nyata termasuk pembangunan depan dan back-end. 1) Memaparkan aplikasi front-end dengan membina aplikasi senarai TODO, yang melibatkan operasi DOM dan pemprosesan acara. 2) Membina Restfulapi melalui Node.js dan menyatakan untuk menunjukkan aplikasi back-end.
