Maak een HTTP-webserver in Node.js: zelfstudie met codevoorbeeld

Het Node.js-framework wordt meestal gebruikt om servergebaseerde applicaties te maken. Het raamwerk kan eenvoudig worden gebruikt om webservers te creëren die inhoud aan gebruikers kunnen aanbieden.

Er zijn verschillende modules, zoals de “http”- en “request”-module, die helpen bij het verwerken van servergerelateerde verzoeken in de webserverruimte. We zullen bekijken hoe we een eenvoudige webserverapplicatie kunnen maken met behulp van Knooppunt js.

Knooppunt als een webserver die HTTP gebruikt

Laten we een voorbeeld bekijken van hoe u onze eerste Node js-applicatie kunt maken en uitvoeren.

Onze applicatie gaat een eenvoudige servermodule maken die luistert op poort nr. 7000. Als er via de browser een verzoek wordt gedaan op poort nr., zal de serverapplicatie een 'Hello World'-antwoord naar de client sturen.

Knooppunt als webserver met behulp van HTTP

Code Uitleg

  1. De basisfunctionaliteit van de functie require is dat deze a luidt JavaScript bestand, voert het bestand uit en gaat vervolgens verder met het retourneren van het exportobject. Omdat we in ons geval de functionaliteit van de http-module willen gebruiken, gebruiken we de require-functie om de gewenste functies uit de http-module te halen, zodat deze in onze applicatie kan worden gebruikt.
  2. In deze coderegel maken we een serverapplicatie die is gebaseerd op een eenvoudige functie. Deze functie wordt aangeroepen wanneer er een verzoek wordt gedaan aan onze serverapplicatie.
  3. Wanneer een verzoek wordt ontvangen, zeggen we dat we een antwoord moeten sturen met het headertype '200'. Dit nummer is het normale antwoord dat in een http-header wordt verzonden wanneer een succesvol antwoord naar de client wordt verzonden.
  4. In het antwoord zelf sturen we de string 'Hallo wereld.'
  5. Vervolgens gebruiken we de server.listen-functie om onze serverapplicatie te laten luisteren naar clientverzoeken op poort nr. 7000. U kunt hier elke beschikbare poort opgeven.

Als de opdracht succesvol wordt uitgevoerd, verschijnt het bericht following De uitvoer wordt weergegeven wanneer u uw code in de browser uitvoert.

uitgang

Knooppunt als webserver met behulp van HTTP

Van de uitvoer,

  • Je kunt duidelijk zien dat als we naar de URL van localhost op poort 7000 bladeren, je de string 'Hello World' op de pagina ziet verschijnen.
  • Omdat we in onze code specifiek hebben vermeld dat de server op poort nr. 7000 moet luisteren, kunnen we de uitvoer bekijken als we naar deze url browsen.

Hier is de code ter referentie

var http=require('http')
var server=http.createServer((function(request,response)
{
	response.writeHead(200,
	{"Content-Type" : "text/plain"});
	response.end("Hello World\n");
}));
server.listen(7000);

GET-verzoeken afhandelen in Node.js

Een GET-verzoek indienen om de gegevens van een andere site op te halen is relatief eenvoudig in Node.js. Om een ​​Get-verzoek in het knooppunt te kunnen doen, moeten we eerst de verzoekmodule geïnstalleerd hebben. Dit kunt u doen door het volgende uit te voeren: following regel op de opdrachtregel

npm-installatieverzoek

Met de bovenstaande opdracht wordt de Node-pakketbeheerder gevraagd de vereiste aanvraagmodules te downloaden en dienovereenkomstig te installeren.

Wanneer uw npm-module succesvol is geïnstalleerd, toont de opdrachtregel de naam en versie van de geïnstalleerde module: @ .

GET-verzoeken afhandelen

In de bovenstaande snapshot kunt u zien dat de 'request'-module samen met versienummer 2.67.0 is gedownload en geïnstalleerd.

Laten we nu eens kijken naar de code die gebruik kan maken van dit 'request'-commando.

GET-verzoeken afhandelen

Code Uitleg

  1. We gebruiken de 'request'-module die in de laatste stap is geïnstalleerd. Deze module beschikt over de nodige functies die gebruikt kunnen worden om GET-verzoeken aan websites te doen.
  2. We doen een GET-verzoek aan www.google.com en roepen vervolgens een functie aan wanneer er een antwoord wordt ontvangen. Wanneer een antwoord wordt ontvangen, hebben de parameters (error, response en body) de volgende aanduidingwing waarden
    1. Fout – Als er een fout wordt ontvangen bij het gebruik van het GET-verzoek, wordt deze hier geregistreerd.
    2. Reactie - Het antwoord heeft de http-headers die in het antwoord worden teruggestuurd.
    3. Body- De body bevat de volledige inhoud van het antwoord dat door Google is verzonden.
  3. Hierin schrijven we alleen de inhoud die we ontvangen in de body-parameter naar het console.log-bestand. Dus eigenlijk, wat we ook krijgen door er naartoe te gaan www.google.com wordt naar console.log geschreven.

Hier is de code ter referentie

var request = require("request");
	request("http://www.google.com",function(error,response,body)
	{
		console.log(body);
	});

Samengevat

  • Het Node.js-framework kan worden gebruikt om webservers te ontwikkelen met behulp van de 'http'-module. De applicatie kan worden gemaakt om op een bepaalde poort te luisteren en een antwoord naar de klant te sturen wanneer er een verzoek aan de applicatie wordt gedaan.
  • De module 'verzoek' kan worden gebruikt om informatie van websites te verkrijgen. De informatie zou de volledige inhoud bevatten van de webpagina die opgevraagd werd bij de betreffende website.