Jadual Kandungan
Apakah tujuan kaedah 'http.createserver ()' dalam node.js?
Bagaimana kaedah 'response.writead ()' dalam kerja node.js?
Apakah perbezaan antara 'menulis' dan 'menulis' dalam node.js?
Bagaimana menggunakan pakej 'node-http-server' dalam node.js?
Bagaimana menangani permintaan dan respons HTTP dalam node.js?
Rumah hujung hadapan web tutorial js Membuat pelayan HTTP di Node.js

Membuat pelayan HTTP di Node.js

Feb 25, 2025 pm 02:27 PM

Bina pelayan http node.js

Creating a HTTP Server in Node.js

Artikel sebelumnya memperkenalkan program Node.js yang paling asas. Walaupun program "Hello World" adalah baik, Node.js lebih biasa digunakan untuk membuat aplikasi pelayan yang sangat berskala. Artikel ini memperkenalkan pelayan HTTP yang mudah dibina di 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() modul http (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 menggunakan response.write(). Pelayan menggunakan kaedah response.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");
Salin selepas log masuk
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.js
Salin selepas log masuk
Langkah 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>
Salin selepas log masuk

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. ) dimasukkan ke dalam pemasangan Node.js. Pada baris 2, gunakan kaedah 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!

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

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

Video Face Swap

Video Face Swap

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

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Apa yang perlu saya lakukan jika saya menghadapi percetakan kod yang dihiasi untuk resit kertas terma depan? Apa yang perlu saya lakukan jika saya menghadapi percetakan kod yang dihiasi untuk resit kertas terma depan? Apr 04, 2025 pm 02:42 PM

Soalan dan penyelesaian yang sering ditanya untuk percetakan tiket kertas terma depan dalam pembangunan front-end, percetakan tiket adalah keperluan umum. Walau bagaimanapun, banyak pemaju sedang melaksanakan ...

Demystifying JavaScript: Apa yang berlaku dan mengapa penting Demystifying JavaScript: Apa yang berlaku dan mengapa penting Apr 09, 2025 am 12:07 AM

JavaScript adalah asas kepada pembangunan web moden, dan fungsi utamanya termasuk pengaturcaraan yang didorong oleh peristiwa, penjanaan kandungan dinamik dan pengaturcaraan tak segerak. 1) Pengaturcaraan yang didorong oleh peristiwa membolehkan laman web berubah secara dinamik mengikut operasi pengguna. 2) Penjanaan kandungan dinamik membolehkan kandungan halaman diselaraskan mengikut syarat. 3) Pengaturcaraan Asynchronous memastikan bahawa antara muka pengguna tidak disekat. JavaScript digunakan secara meluas dalam interaksi web, aplikasi satu halaman dan pembangunan sisi pelayan, sangat meningkatkan fleksibiliti pengalaman pengguna dan pembangunan silang platform.

Siapa yang dibayar lebih banyak Python atau JavaScript? Siapa yang dibayar lebih banyak Python atau JavaScript? Apr 04, 2025 am 12:09 AM

Tidak ada gaji mutlak untuk pemaju Python dan JavaScript, bergantung kepada kemahiran dan keperluan industri. 1. Python boleh dibayar lebih banyak dalam sains data dan pembelajaran mesin. 2. JavaScript mempunyai permintaan yang besar dalam perkembangan depan dan stack penuh, dan gajinya juga cukup besar. 3. Faktor mempengaruhi termasuk pengalaman, lokasi geografi, saiz syarikat dan kemahiran khusus.

Adakah JavaScript sukar belajar? Adakah JavaScript sukar belajar? Apr 03, 2025 am 12:20 AM

Pembelajaran JavaScript tidak sukar, tetapi ia mencabar. 1) Memahami konsep asas seperti pembolehubah, jenis data, fungsi, dan sebagainya. 2) Pengaturcaraan asynchronous tuan dan melaksanakannya melalui gelung acara. 3) Gunakan operasi DOM dan berjanji untuk mengendalikan permintaan tak segerak. 4) Elakkan kesilapan biasa dan gunakan teknik debugging. 5) Mengoptimumkan prestasi dan mengikuti amalan terbaik.

Bagaimana untuk mencapai kesan menatal paralaks dan kesan animasi elemen, seperti laman web rasmi Shiseido?
atau:
Bagaimanakah kita dapat mencapai kesan animasi yang disertai dengan menatal halaman seperti laman web rasmi Shiseido? Bagaimana untuk mencapai kesan menatal paralaks dan kesan animasi elemen, seperti laman web rasmi Shiseido? atau: Bagaimanakah kita dapat mencapai kesan animasi yang disertai dengan menatal halaman seperti laman web rasmi Shiseido? Apr 04, 2025 pm 05:36 PM

Perbincangan mengenai realisasi kesan animasi tatal dan elemen Parallax dalam artikel ini akan meneroka bagaimana untuk mencapai yang serupa dengan laman web rasmi Shiseido (https://www.shiseido.co.jp/sb/wonderland/) ... ...

Evolusi JavaScript: Trend Semasa dan Prospek Masa Depan Evolusi JavaScript: Trend Semasa dan Prospek Masa Depan Apr 10, 2025 am 09:33 AM

Trend terkini dalam JavaScript termasuk kebangkitan TypeScript, populariti kerangka dan perpustakaan moden, dan penerapan webassembly. Prospek masa depan meliputi sistem jenis yang lebih berkuasa, pembangunan JavaScript, pengembangan kecerdasan buatan dan pembelajaran mesin, dan potensi pengkomputeran IoT dan kelebihan.

Bagaimana untuk menggabungkan elemen array dengan ID yang sama ke dalam satu objek menggunakan JavaScript? Bagaimana untuk menggabungkan elemen array dengan ID yang sama ke dalam satu objek menggunakan JavaScript? Apr 04, 2025 pm 05:09 PM

Bagaimana cara menggabungkan elemen array dengan ID yang sama ke dalam satu objek dalam JavaScript? Semasa memproses data, kita sering menghadapi keperluan untuk mempunyai id yang sama ...

Perbezaan dalam Konsol.Log Output Result: Mengapa kedua -dua panggilan berbeza? Perbezaan dalam Konsol.Log Output Result: Mengapa kedua -dua panggilan berbeza? Apr 04, 2025 pm 05:12 PM

Perbincangan mendalam mengenai punca-punca utama perbezaan dalam output konsol.log. Artikel ini akan menganalisis perbezaan hasil output fungsi Console.log dalam sekeping kod dan menerangkan sebab -sebab di belakangnya. � ...

See all articles