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");Untuk memulakan pelayan, ketik arahan berikut. Sekiranya semuanya berfungsi dengan baik, anda akan melihat mesej yang menunjukkan bahawa pelayan sedang mendengar. Perhatikan bahawa pelayan sampel cuba mengikat ke port 80 (port HTTP standard). Jika pelabuhan ini telah digunakan atau terhad pada mesin anda, anda akan menghadapi ralat.
node web_server.jsLangkah seterusnya ialah menggunakan penyemak imbas web untuk menyambung ke pelayan. Lancarkan penyemak imbas pilihan anda dan mengarahkannya ke mana -mana pautan berikut. Dalam istilah rangkaian, Localhost (dan alamat IPnya 127.0.0.1) merujuk kepada mesin yang sedang anda gunakan. Penyemak imbas anda harus memaparkan "Hello World!".
<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

Undress AI Tool
Gambar buka pakaian secara percuma

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

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

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

Java dan JavaScript adalah bahasa pengaturcaraan yang berbeza, masing -masing sesuai untuk senario aplikasi yang berbeza. Java digunakan untuk pembangunan aplikasi perusahaan dan mudah alih yang besar, sementara JavaScript digunakan terutamanya untuk pembangunan laman web.

JavaScriptcommentsareessentialformaintaining,reading,andguidingcodeexecution.1)Single-linecommentsareusedforquickexplanations.2)Multi-linecommentsexplaincomplexlogicorprovidedetaileddocumentation.3)Inlinecommentsclarifyspecificpartsofcode.Bestpractic

Titik berikut harus diperhatikan apabila tarikh pemprosesan dan masa di JavaScript: 1. Terdapat banyak cara untuk membuat objek tarikh. Adalah disyorkan untuk menggunakan rentetan format ISO untuk memastikan keserasian; 2. Dapatkan dan tetapkan maklumat masa boleh diperoleh dan tetapkan kaedah, dan ambil perhatian bahawa bulan bermula dari 0; 3. Tarikh pemformatan secara manual memerlukan rentetan, dan perpustakaan pihak ketiga juga boleh digunakan; 4. Adalah disyorkan untuk menggunakan perpustakaan yang menyokong zon masa, seperti Luxon. Menguasai perkara -perkara utama ini secara berkesan dapat mengelakkan kesilapan yang sama.

PlacingtagsatthebottomofablogpostorwebpageservespracticalpurposesforSEO,userexperience,anddesign.1.IthelpswithSEObyallowingsearchenginestoaccesskeyword-relevanttagswithoutclutteringthemaincontent.2.Itimprovesuserexperiencebykeepingthefocusonthearticl

JavaScriptispreferredforwebdevelopment, whersjavaisbetterforlarge-scalebackendsystemsandandroidapps.1) javascriptexcelsinceleatinginteractiveWebexperienceswithitsdynamicnatureanddommanipulation.2) javaoffersstrongyblectionandobjection

Penangkapan dan gelembung acara adalah dua peringkat penyebaran acara di Dom. Tangkap adalah dari lapisan atas ke elemen sasaran, dan gelembung adalah dari elemen sasaran ke lapisan atas. 1. Penangkapan acara dilaksanakan dengan menetapkan parameter useCapture addeventlistener kepada benar; 2. Bubble acara adalah tingkah laku lalai, useCapture ditetapkan kepada palsu atau ditinggalkan; 3. Penyebaran acara boleh digunakan untuk mencegah penyebaran acara; 4. Acara menggelegak menyokong delegasi acara untuk meningkatkan kecekapan pemprosesan kandungan dinamik; 5. Penangkapan boleh digunakan untuk memintas peristiwa terlebih dahulu, seperti pemprosesan pembalakan atau ralat. Memahami kedua -dua fasa ini membantu mengawal masa dan bagaimana JavaScript bertindak balas terhadap operasi pengguna.

JavascripthassevenfundamentalDatypes: nombor, rentetan, boolean, undefined, null, objek, andsymbol.1) numberuseadouble-precisionformat, bergunaforwidevaluangesbutbecautiouswithfloating-pointarithmetic.2)

Jika aplikasi JavaScript memuat perlahan -lahan dan mempunyai prestasi yang buruk, masalahnya adalah bahawa muatan terlalu besar. Penyelesaian termasuk: 1. Penggunaan kod pemisahan (codesplitting), memecah bundle besar ke dalam pelbagai fail kecil melalui react.lazy () atau membina alat, dan memuatkannya seperti yang diperlukan untuk mengurangkan muat turun pertama; 2. Keluarkan kod yang tidak digunakan (treeshaking), gunakan mekanisme modul ES6 untuk membersihkan "kod mati" untuk memastikan perpustakaan yang diperkenalkan menyokong ciri ini; 3. Memampatkan dan menggabungkan fail sumber, membolehkan GZIP/Brotli dan Terser memampatkan JS, menggabungkan fail dan mengoptimumkan sumber statik; 4. Gantikan kebergantungan tugas berat dan pilih perpustakaan ringan seperti hari.js dan ambil
