Cet article utilisera Node.js pour créer un simple serveur HTTP afin d'essayer de manipuler les ressources informatiques. Il a une certaine valeur de référence. Les amis dans le besoin peuvent s'y référer. J'espère qu'il sera utile à tout le monde.
Qu'est-ce que le protocole HTTP ?
[Apprentissage recommandé : "tutoriel nodejs"]
Une requête de page web, qui comprend deux échanges de paquets HTTP :
Que fait le service HTTP ?
Créez un nouveau fichier http.js
et écrivez le code suivant :
// http 是 Node 自带的包,在这里加载引入 const http = require('http') // 通过 http.createServer 创建一个 Web 静态服务器 http.createServer(function (request, response) { // 监听到请求之后所做的操作 // request 对象包含:用户请求报文的所有内容 // 我们可以通过request对象,获取用户提交过来的数据 // response 响应对象,用来响应一些数据 // 当服务器想要向客户端响应数据的时候,就必须使用response对象 response.writeHead(200); response.end('hello world'); }).listen(4000, function () { // 通过 listen 监听端口,开启服务 console.log("服务器已经启动,可通过以下地址:http://localhost:4000"); })
Commande d'exécution du terminal : node http.js
Vous pouvez voir que le service a été démarré. Ouvrez http://localhost:4000
dans Chrome :
Le contenu de response.end()
a été affiché sur la page. Un tel simple Le serveur HTTP est implémenté.
fs
Le module charge les ressources statiquesCréez un nouveau fichier index.js
:
// 加载模块 const http = require('http') const fs = require('fs'); // 创建服务 http.createServer(function (request, response) { console.log(request.url); response.writeHead(200); response.end(); }).listen(3000)
Exécution du terminal : node index.js
, ouvrez le navigateur localhost:3000
Deux requêtes sont envoyées ici, l'une est la demande de l'url actuelle http://localhost:3000/
l'autre est la demande de l'icône http://localhost:3000/favicon.ico
en haut ; coin droit :
Effectuez ensuite un traitement sur la requête /favicon.ico
et renvoyez directement le code d'état 200
puis utilisez le module fs
pour traiter 静态资源
; :
// 加载模块 const http = require('http') const fs = require('fs'); // 创建服务 http.createServer(function (request, response) { // console.log(request.url); // 如果是图标请求则直接返回 200 if (request.url == '/favicon.ico') { response.writeHead(200); response.end() return } response.writeHead(200); // fs 是文件模块,通过 createReadStream 可以读取本地文件,这里读取的是目录下的 index.html 文件 // 通过 pipe 写入响应对象 fs.createReadStream(__dirname + '/index.html').pipe(response) }).listen(3000)
index.html
Le contenu du fichier est le suivant :
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>实现一个简单的HTTP服务器</title> </head> <body> <div>hello HTTP服务</div> </body> </html>
Fonctionnement du terminal : node index.js
Démarrer le service :
Comme vous pouvez le constater, ce serveur HTTP a mis l'ordinateur La ressource statique index.html
est donnée au navigateur.
Un serveur HTTP aussi simple qui lit les ressources statiques de l'ordinateur a été implémenté !
Ce serveur HTTP utilise deux modules intégrés de Node.js http
et fs
. Il existe de nombreux modules dans Node.js qui peuvent nous aider à réaliser des fonctions puissantes, ce qui est exactement le cas. Écosystème Node.js plus puissant.
Le code est le suivant :
https://github.com/V-vincent/node-introduction
Pour plus de connaissances liées à la programmation , veuillez visiter :Vidéo de programmation ! !
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!