Prévia do material em texto
INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA CAMPUS SÃO JOSÉ DE RIBAMAR CURSO DE REDES DE COMPUTADORES SUBSEQUENTE Alunos: Jeffersson Do Nascimento Silva, Juníor Valber Araujo da Silva, Willame Gomes Mendes, Nicollas Dias de Oliveira Relatório - Http Um servidor web estático consiste em um computador (hardware) com um servidor HTTP (software). É chamado "estático" porque o servidor envia seus arquivos tal como foram criados e armazenados (hospedados) ao navegador. Um servidor web dinâmico consiste em um servidor web estático com software adicional, mais comumente um servidor de aplicações (application server) e um banco de dados (database). É chamado "dinâmico" porque o servidor de aplicações atualiza os arquivos hospedados antes de enviá-los ao navegador através do servidor HTTP. Por exemplo, para produzir as páginas finalizadas que você vê em seu navegador, o servidor de aplicações pode completar um modelo de página HTML (HTML template) com o conteúdo obtido de um banco de dados. Sites como o MDN ou a Wikipédia possuem vários milhares de páginas web, mas elas não são realmente documentos HTML, mas apenas alguns poucos templates HTML e uma gigantesca base de dados. Essa configuração agiliza e facilita o gerenciamento e a entrega do conteúdo. Hipertexto, em português), é um protocolo de comunicação utilizado para a transferência de dados na web. É a base para a troca de informações entre um cliente (como um navegador de internet) e um servidor web. Quando você acessa um site, o HTTP é o protocolo que facilita a comunicação entre seu navegador e o servidor onde o site está hospedado. Para uma camada adicional de segurança, há o HTTPS, que é a versão segura do HTTP. Ele utiliza criptografia para proteger a comunicação entre o cliente e o servidor. Introdução1. 2. Funcionamento do Protocolo HTTP O HTTP opera no modelo cliente-servidor, onde o cliente faz uma requisição ao servidor, que responde com os dados solicitados. Este protocolo é baseado em pedidos e respostas, utilizando métodos como GET, HEAD, POST, PUT, DELETE, TRACE, OPTIONS, e CONNECT. GET: Solicita dados de um recurso específico. Geralmente, os parâmetros são passados na URL, e os headers podem incluir informações adicionais, como autenticação. HEAD: Semelhante ao GET, mas retorna apenas os cabeçalhos da resposta, sem o corpo. Útil para obter metadados. POST: Envia dados ao servidor para processamento, como em formulários ou criação de recursos. PUT: Envia dados para criar ou atualizar um recurso específico, substituindo completamente o recurso existente. DELETE: Solicita a remoção de um recurso específico no servidor. TRACE: Usado para diagnóstico, refletindo a solicitação de volta ao cliente para verificar alterações feitas durante o percurso até o servidor. OPTIONS: Obtém as opções de comunicação permitidas para um recurso ou servidor. CONNECT: Estabelece uma conexão de túnel com o servidor, geralmente para comunicações seguras via proxy HTTP, como SSL/TLS. O HTTP passou por diversas versões, sendo as mais notáveis: HTTP/0.9: Primeira versão, muito simples e com funcionalidades limitadas. HTTP/1.0: Introduziu cabeçalhos de metadados, permitindo uma comunicação mais rica. HTTP/1.1: A versão mais amplamente utilizada, que introduziu conexões persistentes e melhorou a eficiência da transferência de dados. HTTP/2: Melhorou a velocidade de transferência através de multiplexação de streams e compressão de cabeçalhos. HTTP/3: Implementa o protocolo QUIC, que é baseado em UDP, para reduzir latências e melhorar a segurança. 3. Evolução do HTTP Geralmente, um navegador da web ou qualquer outro software que faça solicitações HTTP. O cliente envia uma solicitação HTTP para um servidor. Servidor: Um software que hospeda recursos na web, como páginas HTML, imagens, vídeos, etc. O servidor processa a solicitação HTTP e envia uma resposta de volta ao cliente. 4. Vantagens do HTTP Simplicidade: O HTTP é fácil de implementar e entender, o que facilita o desenvolvimento de aplicações web. Escalabilidade: O protocolo é altamente escalável, suportando uma grande quantidade de usuários simultâneos. Compatibilidade: HTTP é amplamente suportado por todos os navegadores e dispositivos, garantindo acessibilidade universal. Extensibilidade: A estrutura modular do HTTP permite a inclusão de novos métodos e cabeçalhos, adaptando-se às necessidades emergentes. Insegurança (no HTTP/1.1): Versões anteriores ao HTTP/2 não possuem criptografia por padrão, tornando as comunicações vulneráveis a ataques de interceptação (man-in-the- middle). Overhead: A natureza sem estado do HTTP requer que cada requisição seja acompanhada de todos os dados necessários para processar a resposta, aumentando a quantidade de dados transmitidos. Latência: O HTTP/1.x sofre de problemas de latência devido à falta de suporte para multiplexação de requisições, que foi abordado no HTTP/2. Complexidade de Caching: Implementar cache eficiente pode ser complexo devido à grande quantidade de variáveis e regras que devem ser consideradas. 5. Desvantagens do HTTP 3. Configuração pelo terminal: Primeiro e segundo passo: Atualizar o repositórios do sistema: Comando: sudo apt update sudo apt install apache2 Terceiro passo: Listar aplicações e ativar o perfil para permitir o acesso ao servidor web Apache: Comando: sudo ufw app list sudo ufw allow apache Quarto passo: Verificando o servidor web: Comando: sudo sudo systemctl status apache2 hostname -I curl -4 icanhazip.com http://IP_Obtido Quinto passo: Configurando Hosts Virtuais: Comando: sudo mkdir /var/www/meu_dominio sudo chown -R $USER:$USER /var/www/meu_dominio sudo chmod -R 755 /var/www/meu_dominio sudo nano /var/www/meu_domino/index.html Comando: sudo a2ensite your_domain.conf sudo a2dissite 000-default.conf sudo apache2ctl configtest 4. Conclusão: O protocolo HTTP é fundamental para o funcionamento da web moderna, mas como qualquer tecnologia, tem suas limitações. O avanço para versões mais seguras e eficientes, como o HTTP/2 e HTTP/3, demonstra a evolução contínua e a adaptação às novas demandas tecnológicas. A escolha entre HTTP e HTTPS deve ser feita com base nas necessidades de segurança e desempenho da aplicação. Fontes: Chatgpt - Vantagens e desvantagens do http; Resultado: HTTP: um guia completo sobre o que é e como funciona o protocolo da web. Disponível em: .