Pular para conteúdo

Aula 15 - Laboratório: Servidor HTTP 🛠️

Objetivo

Objetivo: Tirar a teoria do papel e transformar o seu computador em um Servidor Web. Aprender a subir um serviço, hospedar um arquivo HTML e acessá-lo via rede local.


1. O que é um Servidor Web? 🖥️

Basicamente, é qualquer computador que rode um software que "escuta" a porta 80 (HTTP) ou 443 (HTTPS) e devolve arquivos quando solicitado.


2. Criando o seu Arquivo 📄

Antes de ligar o motor, vamos criar a nossa "carga":

  1. Crie uma pasta chamada meu-servidor.
  2. Dentro dela, crie um arquivo index.html com o código:
    <!DOCTYPE html>
    <html>
    <body>
        <h1>🚀 Meu Primeiro Servidor Web</h1>
        <p>Aula prática de Redes de Computadores.</p>
    </body>
    </html>
    

3. Subindo o Servidor (3 Maneiras) 🚀

Opção A: Python (A mais rápida)

Se você tem Python instalado, abra o terminal na pasta e digite:

$ python -m http.server 8080

Opção B: Node.js (A mais profissional)

Se você usa Node.js, instale o http-server:

$ npx http-server

Opção C: VS Code (A mais visual)

Instale a extensão Live Server e clique em "Go Live" no canto inferior da tela.


4. Acessando o seu Servidor 🌍

Agora que o servidor está rodando: 1. Abra o navegador e digite: localhost:8080. 2. O Desafio: Pegue o seu celular, conecte no mesmo Wi-Fi do PC, e digite o IP do seu computador (Ex: 192.168.1.10:8080).

[!NOTE] Se não funcionar no celular, o Firewall do Windows pode estar bloqueando a conexão. Você precisará permitir o Python/Node nas regras de entrada.


5. Simulando um Erro 💣

  1. Renomeie o seu arquivo index.html para teste.html.
  2. Tente acessar localhost:8080 de novo.
  3. O que o servidor exibiu? Uma lista de arquivos ou um erro?

🚀 Atividade Prática: Hospedagem Local

  1. Suba seu servidor.
  2. Descubra seu IP usando ipconfig.
  3. Peça para um colega na mesma rede acessar seu site.
  4. Tente trocar o texto do HTML enquanto o servidor está rodando e veja a mudança no navegador.

🧠 Exercícios de Fixação

  1. Por que usamos portas como 8080 ou 3000 em laboratórios em vez da porta 80 padrão?
  2. Qual a diferença entre acessar o site via localhost e via IP da rede?
  3. O que acontece com o site se você fechar o terminal onde o servidor está rodando?

Última Aula: Como as máquinas conversam? Clientes HTTP e APIs! 🤖