IMPORTANT: Per accedir als fitxer de subversion: http://acacha.org/svn (sense password). Poc a poc s'aniran migrant els enllaços. Encara però funciona el subversion de la farga però no se sap fins quan... (usuari: prova i la paraula de pas 123456)

Node.js incorpora un core module anomenat http que serveix tant per crear servidors HTTP com clients HTTP (user agents) i per tant permet implementar amb 100% codi javascript l'estructura client-servidor típica de HTTP

Javascript com a client

Navegadors

Vegeu:

Node.js

Es pot utilitzar de forma similar a les funcions get i post de Jquery utilitzades per crear peticions Ajax. Un exemple:

 http.get({
  hostname: 'localhost',
  port: 80,
  path: '/',
  agent: false  // create a new agent just for this one request
}, (res) => {
  // Do stuff with response
});
https://nodejs.org/api/http.html#http_http

Exemple amb autenticació:

https://davidwalsh.name/nodejs-http-request

Recursos:

Javascript com a servidor

Programació. Mòdul http de node.js

Node.js incorpora un mòdul propi anomenat http (nota: no el busquen a npm és un mòdul que esta disponible de sèrie, vegeu Node core modules)

Vegeu el codi més simple:

//Lets require/import the HTTP module
var http = require('http');

//Lets define a port we want to listen to
const PORT=8080; 

//We need a function which handles requests and send response
function handleRequest(request, response){
    response.end('It Works!! Path Hit: ' + request.url);
}

//Create a server
var server = http.createServer(handleRequest);

//Lets start our server
server.listen(PORT, function(){
    //Callback triggered when server is successfully listening. Hurray!
    console.log("Server listening on: http://localhost:%s", PORT);
});

Per executar el servidor:

$ node myFirstHTTPServer.js
Server listening on: http://localhost:8080

Recursos:

Objecte response (api)

https://nodejs.org/api/http.html#http_class_http_serverresponse

Objecte request (api)

https://nodejs.org/api/http.html#http_class_http_incomingmessage

Exemple 1. Status code

Per establir el HTTP Status Code:

 response.statusCode = 404;

Exemple 2. Establir capçaleres a la resposta

Utilitzeu mètode writeHead:

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

O també podem utilitzar setHeader

response.setHeader('Content-Type', 'text/html');

o altres similars:

response.setHeader('Set-Cookie', ['type=ninja', 'language=javascript']);

Recursos:

Servidor estàtic http-server

Vegeu http-server package de npm.

Javascript sockets

Vegeu Socket.io

Vegeu també

Enllaços externs