Internet e Web: conceitos essenciais
O que é Internet?
A Internet é uma rede mundial de computadores interligados que se comunicam por meio de protocolos padronizados.
- Permite comunicação, transferência de arquivos e acesso a sistemas online.
- Baseada no conjunto de protocolos TCP/IP.
- É a infraestrutura física e lógica das redes.
Internet não é a mesma coisa que Web. A Web é um serviço que funciona sobre a Internet.
Como funciona a Web?
A Web funciona no modelo cliente-servidor.
- O usuário digita um endereço (URL).
- O navegador envia uma requisição HTTP ou HTTPS.
- O servidor processa a requisição.
- O servidor responde com um documento HTML.
- O navegador interpreta e exibe a página.
Ciclo de requisição e resposta
O navegador resolve o domínio (DNS), obtém o IP do servidor, abre conexão (TCP/TLS se HTTPS), envia requisição HTTP e recebe resposta HTTP com cabeçalhos e corpo (HTML, JSON, etc.).
A Web é gráfica e fácil de ser navegada
Antes da Web, a internet era majoritariamente textual. Com a criação da Web, tornou-se possível:
- Exibir imagens
- Criar hyperlinks (links clicáveis).
- Navegar clicando em links
- Estruturar conteúdo visualmente
A Web Distribuída
A Web é descentralizada e distribuída em diversos servidores pelo mundo.
- Não depende de um único servidor.
- Possui alta disponibilidade.
- Permite escalabilidade.
A Web é dinâmica
Inicialmente as páginas eram estáticas. Hoje a Web permite conteúdo dinâmico.
- Uso de JavaScript.
- Linguagens backend como PHP, Python e Java.
- Integração com bancos de dados.
A Web é independente de plataforma
Pode ser acessada em diferentes sistemas operacionais.
- Windows
- Linux
- macOS
- Android
- iOS
História do HTML e CSS
O HTML (HyperText Markup Language) é a linguagem de marcação utilizada para estruturar conteúdos na Web. Ele foi criado em 1991 por Tim Berners-Lee, no CERN (Organização Europeia para a Pesquisa Nuclear), com o objetivo de permitir o compartilhamento de documentos científicos entre pesquisadores.
O HTML foi inspirado no conceito de hipertexto, que permite a criação de documentos interligados por meio de links (hyperlinks). Essa ideia revolucionou a forma como as informações eram organizadas e acessadas na internet.
Principais marcos na evolução do HTML:
- 1991 – Primeira versão do HTML, simples e voltada para documentos científicos.
- 1995 – HTML 2.0, primeira padronização oficial.
- 1997 – HTML 4.0, com melhorias estruturais e separação mais clara entre conteúdo e apresentação.
- 2000 – XHTML, versão mais rigorosa baseada em XML.
- 2014 – HTML5, trazendo suporte nativo a vídeo, áudio, gráficos, semântica e APIs modernas.
O HTML evoluiu de uma linguagem simples de marcação de textos para a base estrutural de aplicações web modernas, sendo hoje mantido como um padrão vivo (Living Standard).
O CSS (Cascading Style Sheets) foi criado em 1996 com o objetivo de resolver um problema crescente na Web: a mistura entre conteúdo e formatação dentro do HTML. Antes do CSS, era comum utilizar tags como <font> para definir cores, tamanhos e estilos diretamente no código HTML, tornando os documentos difíceis de manter.
A proposta do CSS foi separar completamente a estrutura (HTML) da apresentação visual (design), permitindo maior organização, reutilização de estilos e padronização visual entre páginas.
Principais marcos na evolução do CSS:
- 1996 – CSS1, introduzindo controle básico de cores, fontes e espaçamentos.
- 1998 – CSS2, adicionando posicionamento, z-index e suporte a diferentes mídias.
- 2011 em diante – CSS3, dividido em módulos (Flexbox, Grid Layout, Media Queries, Animações).
Com a evolução do CSS, tornou-se possível desenvolver layouts responsivos, adaptar páginas para dispositivos móveis e criar interfaces modernas sem depender de soluções baseadas exclusivamente em scripts.
Hoje, HTML e CSS trabalham de forma complementar: o HTML organiza e estrutura o conteúdo, enquanto o CSS define como esse conteúdo será apresentado visualmente ao usuário.
Web Standards: W3C e WHATWG
Web Standards são:
- Conjuntos de regras técnicas
- Especificações oficiais
- Boas práticas de desenvolvimento
- Android
- iOS
Servem para garantir:
- Compatibilidade entre navegadores
- Acessibilidade
- Manutenção facilitada
- Separação entre conteúdo e apresentação
World Wide Web Consortium (W3C)
Criado em 1994 por Tim Berners-Lee com o objetivo de manter a Web aberta, acessível e padronizada. Função:
- Desenvolver padrões oficiais da Web
- Garantir interoperabilidade
- Definir especificações como HTML e CSS
Web Hypertext Application Technology Working Group (WHATWG)
Criado em 2004 por empresas como Apple, Mozilla e Opera. Motivação: Acelerar a evolução do HTML. Trabalha junto com o W3C no desenvolvimento do HTML Living Standard.
Desenvolvimento Web
Desenvolvimento web é a área de tecnologia que cria e mantém sites, aplicativos e sistemas para a internet, envolvendo desde o design visual (front-end) até a lógica do servidor e banco de dados (back-end), com profissionais como desenvolvedores front-end, back-end e full stack usando linguagens como HTML, CSS, JavaScript, Python, etc., para construir experiências digitais funcionais e seguras.
Comparativo de Layouts
Inicialmente, havia as opções:
- Layout fixo, que tem um tamanho fixo definido e não muda conforme o tamanho da tela
- Layout fluído, que se estende ou encolhe para preencher a janela do navegador, mas não reorganiza o layout
Problemas:
- Resultado bom apenas na tela da pessoa que desenvolveu.
- Site com layout fixo criava uma barra de rolagem horizontal em telas menores e muito espaço em branco nas bordas em telas maiores, ignorando o dispositivo do usuário.
- Site fluído com design “esmagado” para telas menores e linhas muito longas em telas maiores, podendo prejudicar a legibilidade.
Com a evolução dos dispositivos móveis, empresas passaram a criar uma versão mobile do seu site, com URL diferente: layout adaptado.
Problemas:
- Diferentes versões a serem construídas e mantidas (desktop, tablet, smartphone, etc)
- Dificuldade de manutenção e escalabilidade: qualquer mudança implicaria em alterar todas as versões, aumento risco de inconsistência
- “Gap” de dispositivos: dificuldade em lidar com diferentes resoluções de tela.
Conceito central: Responsividade
Desenvolvimento web responsivo é a prática de criar sites que se adaptam automaticamente a qualquer tamanho de tela (desktop, tablet, celular), reorganizando o layout conforme o dispositivo do usuário.
O layout responsivo não é uma tecnologia separada; é uma abordagem ao web design e um conjunto de melhores práticas usado para criar um layout que possa responder ao dispositivo que está sendo usado para visualizar o conteúdo.
Vantagens:
- Melhor Experiência do Usuário (UX): Facilita a leitura e navegação sem zoom ou rolagem horizontal.
- Facilidade de Manutenção: Apenas uma base de código para todos os dispositivos.
- Custo-Benefício: Mais eficiente do que criar sites separados (um para mobile, um para desktop).
- SEO: O Google prioriza sites otimizados para dispositivos móveis.
Exercícios
Exercício 1
Digite e analise o código abaixo, com e sem CSS.
<!DOCTYPE html>
<html lang="pt-BR">
<head>
<meta charset="UTF-8">
<title>Exercício Aula 01</title>
<link rel="stylesheet" href="style.css">
</head>
<body>
<header>
<h1>Minha Primeira Página</h1>
</header>
<main>
<section class="conteudo">
<p>Conteúdo principal da página</p>
</section>
<section class="conteudo">
<p>Outro bloco de conteúdo</p>
</section>
</main>
<footer>
<p>Rodapé</p>
</footer>
</body>
</html>
body {
font-family: Arial, sans-serif;
margin: 0;
background: #f0f0f0;
}
header, footer {
background: #333;
color: white;
padding: 15px;
text-align: center;
}
main {
padding: 20px;
}
.conteudo {
background: #fff;
padding: 15px;
margin-bottom: 15px;
}
Exercício 2
Analise os layouts disponíveis AQUI; reduza o tamanho da janela do navegador para simular dispositivos de diferentes tamanhos.
Exercício 3
Escolha um site conhecido e avalie sua responsividade. Responda: o site se adapta para diferentes dispositivos e tamanhos de tela? Há informações perdidas na visualização em dispositivos menores?
Estruturas Básicas do Desenvolvimento Web
Uma página web é uma combinação de estrutura + estilo + comportamento:
- HTML → estrutura
- CSS → aparência e layout
- JavaScript → comportamento
O fundamento para o desenvolvimento responsivo está na combinação de HTML e CSS.
Elemento HTML
<p>Conhecendo o HTML para criar sites</p>
Um elemento HTML é composto por:
- A tag de abertura: Consiste no nome do elemento (no caso, p), envolvido em parênteses angulares de abertura e fechamento. Isso demonstra onde o elemento começa, ou onde seu efeito se inicia — nesse caso, onde é o começo do parágrafo.
- A tag de fechamento: Isso é a mesma coisa que a tag de abertura, exceto que inclui uma barra antes do nome do elemento. Isso demonstra onde o elemento acaba — nesse caso, onde é o fim do parágrafo. Esquecer de incluir uma tag de fechamento é um dos erros mais comuns de iniciantes e pode levar a resultados estranhos.
- O conteúdo: Esse é o conteúdo do elemento, que nesse caso é apenas texto.
- O elemento: A tag de abertura, a de fechamento, e o conteúdo formam o elemento.
A tag de abertura indica onde o elemento começa. A tag de fechamento indica onde o elemento termina. Esquecer a tag de fechamento é um erro comum de iniciantes.
Atributos
Elementos HTML podem conter atributos, que fornecem informações extras. Exemplos:
- class → identifica grupos de elementos
- id → identifica um elemento individualmente
<p class="meus-paragrafos">Conhecendo o HTML para criar sites</p>
Um atributo sempre deve conter:
- Espaço após o nome do elemento
- Nome do atributo
- Sinal de igual (=)
- Valor entre aspas
Aninhamento de Elementos
É possível colocar elementos dentro de outros elementos, o que é chamado de aninhamento. O
código abaixo deixa a palavra HTML em negrito, por meio do elemento <b>.
É importante fechar os elementos na ordem correta: o último que abre deve ser o primeiro a fechar. No exemplo
acima, abrimos primeiro o elemento <p>, depois o elemento <b>; portanto, temos que fechar
primeiro o elemento <b>, depois o elemento <p>.
Elementos Vazios
Alguns elementos não possuem conteúdo interno e são chamados de elementos vazios.
<img src="imgs/minha-imagem.png" alt="Minha imagem de teste">
No exemplo é exibido o elemento <img>. Ele contém dois atributos, mas não há tag </img> de
fechamento e não há conteúdo interno.
Estrutura Básica de um Documento HTML
O HTML (HyperText Markup Language) é fundamental porque atua como o “esqueleto” de toda
página da web, organizando e estruturando o conteúdo — textos, imagens, vídeos e links — para
que navegadores possam exibi-los corretamente.
Todo documento HTML possui uma estrutura mínima obrigatória:
<!DOCTYPE html>
<html lang="pt-BR">
<head>
<meta charset="UTF-8">
<meta name="keywords" content="curso java curso C#">
<title>Minha Página</title>
</head>
<body>
<!-- Aqui vai o conteúdo da página -->
</body>
</html>
<!DOCTYPE html> Para um navegador exibir corretamente uma página web, devemos informar
explicitamente o tipo do documento. O tipo do documento é informado com a declaração <!DOCTYPE
html>.
<html> Os elementos HTML, com exceção do DOCTYPE, devem ser inseridos no conteúdo do elemento
html. Esse elemento é aberto com a tag <html> no início do documento e fechado com a tag </html>
no final, e deve conter exatamente um elemento head seguido de exatamente um elemento body.
Recomenda-se a utilização do atributo lang para indicar o idioma utilizado no documento HTML ou
na maior parte dele (ferramentas de leitura ou de tradução de texto).
<head> A principal função do elemento head é agrupar informações sobre o documento HTML
(metadados). São exemplos de metadados: o encoding, o autor, a descrição e as palavras chaves
do documento HTML.
O elemento meta é utilizado para definir os metadados.
O elemento head deve conter também o elemento title, que define o título do documento HTML.
<body> Todo o conteúdo de uma página web deve ser definido no corpo do elemento body. Por
exemplo, podemos inserir no corpo do body cabeçalhos, textos, listas, tabelas, entre outros
componentes.
Comentários - Podemos adicionar comentários em um documento HTML dentro das tags <!-- e -- >. Os comentários são ignorados pelos navegadores.
Elementos Básicos
Títulos
Uma página web pode conter uma hierarquia de títulos e subtítulos para estabelecer uma divisão do seu conteúdo. Devemos utilizar os elementos h1, h2, h3, h4, h5 e h6. Os sufixos numéricos de 1 a 6 indicam o nível do título dentro da hierarquia de títulos do documento.
<h1>Título Principal</h1>
<h2>Subtítulo Nível 2</h2>
<h3>Subtítulo Nível 2 </h3>
Devemos utilizar os títulos com cautela, pois eles são usados como critério de ranqueamento por buscadores como Google. O uso correto dos elementos de título é fortemente recomendado pelos especialistas em SEO (Search Engine Optimization):
- Manter a ordem lógica dos títulos. Um elemento h2 deve ser precedido de um elemento h1, por exemplo.
- O título de uma seção deve descrever bem o conteúdo dela.
Parágrafos
O elemento <p> é utilizado para definir o início de um novo parágrafo, deixando uma linha
em branco entre este e o texto anterior. Caso seja necessário forçar uma quebra de linha entre duas
palavras contidas em um parágrafo, podemos utilizar o elemento <br>.
Marcadores de Estilo
É possível criar efeitos no texto, alterando a forma e o tamanho da fonte. Todas as tags deste tipo devem abertas e fechadas, marcando o início e o fim do texto a ser formatado:
- Negrito:
<b> - Itálico:
<i> - Sublinhado:
<u> - Subscrito:
<sub> - Sobrescrito:
<sup>
Exercícios
Portal de uma empresa de tecnologia
Você foi contratado para criar a estrutura inicial de um site institucional de uma empresa fictícia de tecnologia.
Crie um arquivo chamado: index.html
Requisitos obrigatórios – o documento deve conter:
- Estrutura básica completa.
- Cabeçalho da página, com um título principal com o nome da empresa e uma descrição breve da empresa.
- Seção “Sobre nós” com dois parágrafos explicando a empresa. Dentro de um dos parágrafos, destaque palavras importantes utilizando negrito e itálico.
- Seção “Serviços” com uma lista de serviços prestados.
- Seção “Contato” com e-mail e telefone.
- Rodapé com o nome da empresa, ano atual e o texto “Todos os direitos reservados”.
Regras:
- Utilize comentários para separar as seções do código
- Organize corretamente a hierarquia dos títulos
- Não use CSS neste momento
- Não use atributos neste momento
- O código deve estar identado corretamente
Desafios:
- Usar a tag
<section>para separar seções de conteúdo - Usar a tag
<header>para criar um cabeçalho - Usar a tag
<footer>para criar um rodapé - Inserir uma imagem da empresa na seção “Sobre Nós” com a tag
<img>