Saltar al contenido principal

Creación de servidores web sencillos

En este módulo nos centraremos sobre todo en PHP y JavaScript para desarrollar nuestras aplicaciones web, pero veremos algún ejemplo más en otros lenguajes para ver cómo se crearía.

Con el entorno configurado, crearemos servidores web básicos en varios lenguajes de programación que servirán una página HTML muy simple.

Servidor web básico en PHP

  1. En el directorio raíz del proyecto, crea un archivo index.php con el siguiente contenido:

    <?php
    echo "<h1>¡Hola mundo desde PHP!</h1>";
    ?>
  2. Asegúrate de que el contenedor de PHP esté en funcionamiento. Si utilizó Docker, el servicio debería estar activo.

  3. Accede a http://localhost en tu navegador.

Servidor web básico en Node.js

  1. Crea un archivo server.js con el siguiente código:

    const http = require('http');

    const server = http.createServer((req, res) => {
    res.writeHead(200, { 'Content-Type': 'text/html' });
    res.end('<h1>Hola mundo desde Node.js</h1>');
    });

    server.listen(3000, () => {
    console.log('Servidor ejecutándose en http://localhost:3000');
    });
  2. Ejecuta el servidor con:

    node server.js
  3. Visita http://localhost:3000 en tu navegador.

Servidor web básico en Python

  1. Crea un archivo server.py con el siguiente contenido:

    from http.server import BaseHTTPRequestHandler, HTTPServer

    class ControladorBasico(BaseHTTPRequestHandler):
    def do_GET(self):
    self.send_response(200)
    self.send_header('Content-type', 'text/html')
    self.end_headers()
    self.wfile.write(bytes("<h1>Hola mundo desde Python</h1>", "utf-8"))

    def run():
    puerto = 4000
    servidor = HTTPServer(('', puerto), ControladorBasico)
    print(f'Servidor ejecutándose en http://localhost:{puerto}')
    servidor.serve_forever()

    if __name__ == '__main__':
    run()
  2. Ejecuta el servidor con:

    python server.py
  3. Accede a http://localhost:4000 en el navegador.

Servidor web básico en Java

  1. Crea un archivo server.java con el siguiente contenido:

    import java.io.IOException;
    import java.io.OutputStream;
    import com.sun.net.httpserver.HttpServer;
    import com.sun.net.httpserver.HttpHandler;
    import com.sun.net.httpserver.HttpExchange;
    import java.net.InetSocketAddress;

    public class BasicWebServer {

    public static void main(String[] args) throws IOException {
    HttpServer server = HttpServer.create(new InetSocketAddress(5000), 0);
    server.createContext("/", new RootHandler());
    server.setExecutor(null);
    server.start();
    System.out.println("Servidor iniciado en el puerto 5000");
    }

    static class RootHandler implements HttpHandler {
    @Override
    public void handle(HttpExchange exchange) throws IOException {
    String response = "Hola mundo desde Java";
    exchange.sendResponseHeaders(200, response.getBytes().length);
    OutputStream os = exchange.getResponseBody();
    os.write(response.getBytes());
    os.close();
    }
    }
    }
  2. Compila el código con:

    javac server.java
  3. Ejecuta el servidor con:

    java server
  4. Accede a http://localhost:5000 en el navegador.

Resolución de posibles errores

Si encuentras dificultades al acceder a algún servidor, considera lo siguiente:

  • Verificar que el servidor esté en ejecución: Asegúrate de que no haya errores al iniciar el servidor en la terminal.
  • Comprobar el puerto utilizado: Si el puerto en cuestión (3000, 4000 o 5000) está ocupado, puedes cambiarlo en el código y en la URL.
  • Revisar el código fuente: Busca errores de sintaxis o tipográficos que puedan impedir que el servidor se inicie correctamente.
  • Consultar los registros: Las terminales suelen mostrar mensajes de error detallados que ayudan a identificar el problema.