cari
Rumahhujung hadapan webtutorial jsMembuat pelayan HTTP di Node.js

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");
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
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>

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
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
Ganti aksara rentetan dalam javascriptGanti aksara rentetan dalam javascriptMar 11, 2025 am 12:07 AM

Penjelasan terperinci mengenai kaedah penggantian rentetan javascript dan Soalan Lazim Artikel ini akan meneroka dua cara untuk menggantikan watak rentetan dalam JavaScript: Kod JavaScript dalaman dan HTML dalaman untuk laman web. Ganti rentetan di dalam kod JavaScript Cara yang paling langsung ialah menggunakan kaedah pengganti (): str = str.replace ("cari", "ganti"); Kaedah ini hanya menggantikan perlawanan pertama. Untuk menggantikan semua perlawanan, gunakan ungkapan biasa dan tambahkan bendera global g: str = str.replace (/fi

Tutorial Persediaan API Carian Google CustomTutorial Persediaan API Carian Google CustomMar 04, 2025 am 01:06 AM

Tutorial ini menunjukkan kepada anda bagaimana untuk mengintegrasikan API carian Google tersuai ke dalam blog atau laman web anda, menawarkan pengalaman carian yang lebih halus daripada fungsi carian tema WordPress standard. Ia menghairankan mudah! Anda akan dapat menyekat carian ke y

8 plugin susun atur halaman jquery yang menakjubkan8 plugin susun atur halaman jquery yang menakjubkanMar 06, 2025 am 12:48 AM

Leverage JQuery untuk Layouts Laman Web yang mudah: 8 Plugin Essential JQuery memudahkan susun atur laman web dengan ketara. Artikel ini menyoroti lapan plugin jQuery yang kuat yang menyelaraskan proses, terutamanya berguna untuk penciptaan laman web manual

Bina Aplikasi Web Ajax anda sendiriBina Aplikasi Web Ajax anda sendiriMar 09, 2025 am 12:11 AM

Jadi di sini anda, bersedia untuk mempelajari semua perkara ini yang dipanggil Ajax. Tetapi, apa sebenarnya? Istilah Ajax merujuk kepada kumpulan teknologi longgar yang digunakan untuk membuat kandungan web yang dinamik dan interaktif. Istilah Ajax, yang asalnya dicipta oleh Jesse J

Apa itu ' ini ' Dalam JavaScript?Apa itu ' ini ' Dalam JavaScript?Mar 04, 2025 am 01:15 AM

Mata teras Ini dalam JavaScript biasanya merujuk kepada objek yang "memiliki" kaedah, tetapi ia bergantung kepada bagaimana fungsi dipanggil. Apabila tidak ada objek semasa, ini merujuk kepada objek global. Dalam penyemak imbas web, ia diwakili oleh tetingkap. Apabila memanggil fungsi, ini mengekalkan objek global; tetapi apabila memanggil pembina objek atau mana -mana kaedahnya, ini merujuk kepada contoh objek. Anda boleh mengubah konteks ini menggunakan kaedah seperti panggilan (), memohon (), dan mengikat (). Kaedah ini memanggil fungsi menggunakan nilai dan parameter yang diberikan. JavaScript adalah bahasa pengaturcaraan yang sangat baik. Beberapa tahun yang lalu, ayat ini

10 helaian cheat mudah alih untuk pembangunan mudah alih10 helaian cheat mudah alih untuk pembangunan mudah alihMar 05, 2025 am 12:43 AM

Siaran ini menyusun helaian cheat berguna, panduan rujukan, resipi cepat, dan coretan kod untuk perkembangan aplikasi Android, BlackBerry, dan iPhone. Tiada pemaju harus tanpa mereka! Panduan Rujukan Gesture Touch (PDF) Sumber yang berharga untuk desig

Tingkatkan pengetahuan jQuery anda dengan penonton sumberTingkatkan pengetahuan jQuery anda dengan penonton sumberMar 05, 2025 am 12:54 AM

JQuery adalah rangka kerja JavaScript yang hebat. Walau bagaimanapun, seperti mana -mana perpustakaan, kadang -kadang perlu untuk mendapatkan di bawah tudung untuk mengetahui apa yang sedang berlaku. Mungkin kerana anda mengesan bug atau hanya ingin tahu tentang bagaimana jQuery mencapai UI tertentu

Bagaimana saya membuat dan menerbitkan perpustakaan JavaScript saya sendiri?Bagaimana saya membuat dan menerbitkan perpustakaan JavaScript saya sendiri?Mar 18, 2025 pm 03:12 PM

Artikel membincangkan membuat, menerbitkan, dan mengekalkan perpustakaan JavaScript, memberi tumpuan kepada perancangan, pembangunan, ujian, dokumentasi, dan strategi promosi.

See all articles

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

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Alat panas

Pelayar Peperiksaan Selamat

Pelayar Peperiksaan Selamat

Pelayar Peperiksaan Selamat ialah persekitaran pelayar selamat untuk mengambil peperiksaan dalam talian dengan selamat. Perisian ini menukar mana-mana komputer menjadi stesen kerja yang selamat. Ia mengawal akses kepada mana-mana utiliti dan menghalang pelajar daripada menggunakan sumber yang tidak dibenarkan.

PhpStorm versi Mac

PhpStorm versi Mac

Alat pembangunan bersepadu PHP profesional terkini (2018.2.1).

MinGW - GNU Minimalis untuk Windows

MinGW - GNU Minimalis untuk Windows

Projek ini dalam proses untuk dipindahkan ke osdn.net/projects/mingw, anda boleh terus mengikuti kami di sana. MinGW: Port Windows asli bagi GNU Compiler Collection (GCC), perpustakaan import yang boleh diedarkan secara bebas dan fail pengepala untuk membina aplikasi Windows asli termasuk sambungan kepada masa jalan MSVC untuk menyokong fungsi C99. Semua perisian MinGW boleh dijalankan pada platform Windows 64-bit.

Versi Mac WebStorm

Versi Mac WebStorm

Alat pembangunan JavaScript yang berguna

mPDF

mPDF

mPDF ialah perpustakaan PHP yang boleh menjana fail PDF daripada HTML yang dikodkan UTF-8. Pengarang asal, Ian Back, menulis mPDF untuk mengeluarkan fail PDF "dengan cepat" dari tapak webnya dan mengendalikan bahasa yang berbeza. Ia lebih perlahan dan menghasilkan fail yang lebih besar apabila menggunakan fon Unicode daripada skrip asal seperti HTML2FPDF, tetapi menyokong gaya CSS dsb. dan mempunyai banyak peningkatan. Menyokong hampir semua bahasa, termasuk RTL (Arab dan Ibrani) dan CJK (Cina, Jepun dan Korea). Menyokong elemen peringkat blok bersarang (seperti P, DIV),