Maison  >  Article  >  interface Web  >  Nodejs crée un serveur http

Nodejs crée un serveur http

王林
王林original
2023-05-11 21:28:371342parcourir

Node.js est un environnement d'exécution JavaScript construit sur le moteur Chrome V8 et est largement utilisé dans le développement d'applications Web. Dans Node.js, nous pouvons facilement créer un serveur HTTP et accéder aux pages Web du serveur via le navigateur. Cet article explique comment utiliser Node.js pour créer un serveur HTTP.

  1. Installer Node.js

Tout d'abord, nous devons installer l'environnement Node.js localement. Vous pouvez accéder au site officiel de Node.js https://nodejs.org/ pour télécharger la dernière version et l'installer. Une fois l'installation terminée, vous pouvez saisir la commande suivante dans la ligne de commande pour vérifier si l'installation a réussi :

node -v

Si le numéro de version de Node.js s'affiche correctement, l'installation est réussie.

  1. Créer un serveur HTTP

Créer un serveur HTTP avec Node.js est très simple. Il vous suffit d'introduire le module "http" intégré de Node.js dans un fichier JavaScript, de créer un serveur et d'écouter le port spécifié. Voici un exemple simple :

const http = require('http');

const hostname = '127.0.0.1';
const port = 3000;

const server = http.createServer((req, res) => {
    res.statusCode = 200;
    res.setHeader('Content-Type', 'text/plain');
    res.end('Hello World!
');
});

server.listen(port, hostname, () => {
    console.log(`Server running at http://${hostname}:${port}/`);
});

Le code ci-dessus crée un serveur HTTP et écoute le port 3000. Lorsqu'un client accède au serveur, il renvoie la chaîne "Hello World!".

  1. Accès au serveur HTTP

Après avoir démarré le serveur HTTP, nous pouvons utiliser le navigateur pour accéder au serveur. Entrez "http://localhost:3000" dans la barre d'adresse du navigateur (si le serveur ne fonctionne pas localement, remplacez "localhost" par l'adresse IP du serveur) et vous verrez le navigateur afficher la chaîne de caractères "Hello World!".

  1. Traitement des requêtes HTTP

L'exemple ci-dessus n'est que l'exemple le plus simple. En fait, lors du traitement des requêtes HTTP, nous devons générer des réponses correspondantes en fonction du contenu de l'en-tête et du corps de la requête. Le module http de Node.js nous fournit une API spécifiquement pour gérer les requêtes. Par exemple, nous pouvons obtenir l'adresse URL demandée via req.url et obtenir la méthode demandée via req.method. Voici un exemple de renvoi de différents messages en fonction de différentes adresses URL :

const http = require('http');

const hostname = '127.0.0.1';
const port = 3000;

const server = http.createServer((req, res) => {
    res.statusCode = 200;
    res.setHeader('Content-Type', 'text/plain');
    if (req.url === '/about') {
        res.end('This is about page');
    } else if (req.url === '/contact') {
        res.end('This is contact page');
    } else {
        res.end('Hello World!
');
    }
});

server.listen(port, hostname, () => {
    console.log(`Server running at http://${hostname}:${port}/`);
});

Visitez "http://localhost:3000/about" dans le navigateur, vous verrez le navigateur afficher la chaîne "Ceci est à propos de la page" ; " http://localhost:3000/contact", vous verrez le navigateur afficher la chaîne "This is contact page" ; visitez "http://localhost:3000", vous verrez la chaîne du navigateur afficher "Hello World!" .

  1. Traitement des requêtes POST

En plus du traitement des requêtes GET, nous pouvons également traiter les requêtes POST et stocker les données transmises par le client au serveur. Le module http de Node.js nous fournit également une API pour traiter les requêtes POST. Voici un exemple simple de traitement de requête POST :

const http = require('http');

const hostname = '127.0.0.1';
const port = 3000;

const server = http.createServer((req, res) => {
    if (req.method === 'POST') {
        let body = '';
        req.on('data', chunk => {
            body += chunk.toString();
        });
        req.on('end', () => {
            console.log(`Received data: ${body}`);
            res.end('Data received');
        });
    } else {
        res.statusCode = 200;
        res.setHeader('Content-Type', 'text/plain');
        res.end('Hello World!
');
    }
});

server.listen(port, hostname, () => {
    console.log(`Server running at http://${hostname}:${port}/`);
});

Lors du traitement de la requête HTTP, le code ci-dessus détermine d'abord si la méthode de requête est POST. S'il s'agit de POST, il surveille l'événement de transmission de données et stocke les données transmises dans le corps. variable et imprimer une fois le transfert de données terminé. Dans le fichier HTML du client, vous pouvez utiliser l'élément ff9c23ada1bcecdd1a0fb5d5a0f18437 pour soumettre une requête POST, par exemple :

<!DOCTYPE html>
<html>
<head>
    <title>POST Request Example</title>
</head>
<body>
    <form action="http://localhost:3000" method="post">
        <label for="name">Name:</label>
        <input type="text" id="name" name="name"><br><br>
        <label for="email">Email:</label>
        <input type="email" id="email" name="email"><br><br>
        <input type="submit" value="Submit">
    </form>
</body>
</html>

Cliquez sur le bouton Soumettre après avoir rempli le formulaire, et la requête POST sera soumise au serveur HTTP et au les données seront transmises.

Résumé

Construire un serveur HTTP à l'aide de Node.js est très simple et offre une bonne évolutivité et personnalisation. Cet article explique comment créer un serveur HTTP, gérer les requêtes HTTP et gérer les requêtes POST. En apprenant les connaissances ci-dessus, nous pouvons rapidement créer nos propres applications Web et créer des services Web efficaces et fiables.

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Article précédent:apt installer nodejsArticle suivant:apt installer nodejs