Artikel ini akan memperkenalkan anda kepada modul http dalam Node dan bercakap tentang cara menggunakan modul http untuk mencipta pelayan saya harap ia akan membantu semua orang.
1 Apakah http
dijelaskan dalam Ensiklopedia Baidu:
Protokol Pemindahan Teks Hiper (Teks Hiper Protokol Pemindahan (HTTP) ialah protokol tindak balas permintaan ringkas yang biasanya berjalan di atas TCP. Ia menentukan jenis mesej yang boleh dihantar oleh pelanggan kepada pelayan dan jenis respons yang diterimanya. Tajuk mesej permintaan dan respons diberikan dalam bentuk ASCII; manakala [9] kandungan mesej mempunyai format yang serupa dengan MIME. Model ringkas ini memainkan peranan penting dalam kejayaan awal Web kerana ia menjadikan pembangunan dan penggunaan sangat mudah.
Jika anda telah mempelajari asas JavaSE, anda harus biasa dengan pengaturcaraan rangkaian
Sudah tentu, tidak mengapa jika anda belum mengetahuinya :
1.1. Protokol komunikasi rangkaian
Hari ini pada tahun 2022, rangkaian komputer telah menjadi satu keperluan untuk kehidupan seharian manusia, sama ada e-mel atau pemesejan segera dengan rakan , hiburan video pendek... Boleh dikatakan kita boleh menyambungkan berbilang komputer melalui rangkaian komputer.
Rangkaian komputer menyambungkan berbilang peranti komputer di bawah rangkaian melalui media penghantaran, kemudahan komunikasi dan protokol komunikasi rangkaian, merealisasikan perkongsian sumber dan penghantaran data.
Tetapi apabila komputer pada rangkaian yang sama bersambung dan berkomunikasi, mereka mesti mematuhi peraturan tertentu Dalam rangkaian komputer, peraturan untuk sambungan dan komunikasi ini dipanggil protokol komunikasi rangkaian:
<.>
1.2, alamat IP dan nombor port
Untuk membolehkan komputer dalam rangkaian berkomunikasi, setiap komputer juga mesti diberikan Pengenalan nombor, di mana komputer yang menerima data ditentukan atau komputer yang menghantar data ditentukan. Semak alamat IP komputer anda pada LANTekan papan kekunci WIN R pada komputer Windows dan masukkan cmd untuk memasuki konsol dengan cepat
ipconfig
2. Gunakan modul http untuk mencipta pelayan
2.1, pengumpulan tebal (pengenalan terperinci, pengenalan terperinci kaedah objek yang digunakan, keseluruhan proses pembinaan perkhidmatan http)
Pengenalan proses:- Mula-mula gunakan kaedah createServer() untuk mendaftarkan objek pelayan,
- Kemudian gunakan objek pelayan ini untuk memanggil kaedah on() untuk dengar dan proses acara,
- Panggil kaedah listen() untuk mengikat nombor port
// 首先导入http模块 const http = require('http'); // 创建http服务对象 const server = http.createServer();Objek Pelayan yang dikembalikan oleh pembina createServer ialah pemancar peristiwa Di sini, objek pelayan yang dicipta digunakan untuk menggunakan kaedah on( ) sendiri untuk melaksanakan pemantauan dan pemprosesan acara ke atasnya. Dengan cara ini, apabila permintaan http dihantar, kami boleh memprosesnya.
// 首先导入http模块 const http = require('http'); // 创建http服务对象 const server = http.createServer(); // 绑定事件监听 server.on('request', (request, response) => { // 永远相信美好的事情即将发生! });Kami telah memperkenalkan (port alamat IP) sebelum ini Apabila komputer kami disambungkan ke Internet, penghala secara automatik akan memberikan alamat IP kepada kami melalui DHCP, tetapi jika kami ingin mengakses program yang ditentukan. pada komputer, kita juga mesti mempunyai nombor Port. Untuk mengakses program yang ditentukan pada komputer, kita juga perlu menggunakan kaedah listen(). Anda hanya perlu menggunakan server.listen() untuk menghantar nombor port sebagai parameter ke dalam kaedah mendengar sebagai port mendengar.
// 首先导入http模块 const http = require('http'); // 创建http服务对象 const server = http.createServer(); // 绑定事件监听 server.on('request', (req, res) => { // 此函数内容只是小小调用一下res参数让程序更加易懂的跑起来 // 编写响应头(不写浏览器不识别) res.writeHead(200,{'Content-Type':'text/html;charset=UTF8'}); // 发送响应数据 res.end("<h1 id="欢迎使用node-js搭建服务">欢迎使用node.js搭建服务</h1>"); }); // 绑定端口号 server.listen(8888); // 控制台打印地址,方便快速调试 console.log('您的http服务启动在 http://127.0.0.1:8888/');Demo berjalan kod:
上述代码演示十分细节,但是实际开发起来,不建议这样一步步写,过于繁琐了
接下来跟着作者,让我们继续优化一下代码,让代码更加牛逼且简洁
2.2、薄发(极简才是王道,优雅!太优雅了!!!)
一步一步注册对象,调各种方法的流程太过繁琐,这里我们用小而美的做法,一步踏天,实现一个http接口:
const http = require('http'); const server = http.createServer(function(req,res){ // 永远相信美好的事情即将发生 }).listen(8080);
每当有 HTTP 请求到达服务器时,createServer 中传入的函数就被自动执行。所以这个函数也被称为是请求处理函数。我们可以直接在里面传入事件监听的回调函数,然后后面点上listen()方法,直接绑定端口号。
但是这样还不够好,是的,还可以更好,把上面回调函数用箭头函数修饰一下,更加美观。
const http = require('http'); const server = http.createServer((req,res) => { // 永远相信美好的事情即将发生 }).listen(8080);
当然
这
还不够好
还可以更好!
直接一个createServer()解决一切:
var http = require('http') // 创建服务器 http.createServer( (req, res) =>{ // 永远相信美好的事情即将发送 }).listen(8888);
看到这里,恭喜你已经入门了nodeJS的http模块 此时此刻的你 已经掌握了如下技能
- 实例化一个 HTTP 服务,绑定一个处理请求的函数,并对某个特定端口进行监听。
请继续关注作者,接下来 我们将学习
- request 中获取请求头,访问路径,方法以及消息体。
- response 象发送响应头,HTTP 状态码以及消息体。
- server.on()的相关参数 进行错误、超时、连接·····等等情况的处理
更多node相关知识,请访问:nodejs 教程!
Atas ialah kandungan terperinci Mari bercakap tentang modul http dalam Node.js. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

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.

Aplikasi JavaScript di dunia nyata termasuk pengaturcaraan sisi pelayan, pembangunan aplikasi mudah alih dan Internet of Things Control: 1. Pengaturcaraan sisi pelayan direalisasikan melalui node.js, sesuai untuk pemprosesan permintaan serentak yang tinggi. 2. Pembangunan aplikasi mudah alih dijalankan melalui reaktnatif dan menyokong penggunaan silang platform. 3. Digunakan untuk kawalan peranti IoT melalui Perpustakaan Johnny-Five, sesuai untuk interaksi perkakasan.

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

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

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.

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.

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.

Python lebih sesuai untuk sains data dan pembelajaran mesin, manakala JavaScript lebih sesuai untuk pembangunan front-end dan penuh. 1. Python terkenal dengan sintaks ringkas dan ekosistem perpustakaan yang kaya, dan sesuai untuk analisis data dan pembangunan web. 2. JavaScript adalah teras pembangunan front-end. Node.js menyokong pengaturcaraan sisi pelayan dan sesuai untuk pembangunan stack penuh.


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

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

VSCode Windows 64-bit Muat Turun
Editor IDE percuma dan berkuasa yang dilancarkan oleh Microsoft

SublimeText3 Linux versi baharu
SublimeText3 Linux versi terkini

ZendStudio 13.5.1 Mac
Persekitaran pembangunan bersepadu PHP yang berkuasa

SublimeText3 versi Inggeris
Disyorkan: Versi Win, menyokong gesaan kod!

Muat turun versi mac editor Atom
Editor sumber terbuka yang paling popular