Web Design e HTML

Web Design - Básico

1 O que é Web design?

Web design é, em inglês, o nome da arte praticada pelos seres artrópodes da ordem Aracneae, ou aracnídeos, mais popularmente conhecidos como as aranhas.

Mas isto era há 10 anos atrás. Hoje, Web design é a arte de tecer uma outra teia, muito mais desorganizada e caótica, e que não é governada por nenhuma aranha. Web design é a concepção e projeto da interface interativa do serviço Web, formado por "páginas".

Alguns anos depois das aranhas, a administração da Web cabia à programadores que precisavam codificar toda a informação usando uma linguagem: o HTML, e depois armazená-las em uma área especial de uma máquina Unix, onde rodava um servidor Web # programa que permitia o acesso remoto às informações das páginas. Hoje, a arte de criar páginas Web continua a exigir mais e mais conhecimentos de programação ... visual! Saber HTML hoje é menos importante que ter noções de design.

O design de páginas para a Web hoje se assemelha mais à editoração eletrônica que à programação. Os caminhos do Web design, porém, são bem diferentes daqueles seguidos na criação para mídia impressa. O Web designer deve conhecer não só as possibilidades do meio onde publicará a sua informação, como suas limitações. A arte do Web design consiste em aproveitar ao máximo os recursos oferecidos pela Web, garantindo a melhor apresentação, navegabilidade e interatividade de um Web site. A ideia é atrair os visitantes e estimulá-los a voltar outras vezes. Às vezes é necessário sacrificar a qualidade da apresentação ou deixar de usar algum recurso útil devido a lentidão da rede ou incompatibilidades de browsers.

É importante que o Web designer aprenda a traçar uma linha de equilíbrio entre os impedimentos tecnológicos e as possibilidades criativas desta nova mídia, para tirar o maior proveito do seu potencial.

O bom Web design começa fora do computador. Planejar a estrutura da teia e sua identidade com base nos objetivos à que se destina (comercio, informação, promoção, intranet, captura de insetos) antes de iniciar a implementação, preserva o conceito por trás do design da interface e diminui a limitação da tecnologia disponível.

Como já mencionamos acima, hoje é possível desenvolver todo um site sem escrever uma só linha de HTML. Obviamente, omitimos alguns detalhes nesta afirmação (senão, por que estaríamos ensinando HTML avançado?). O estado atual das ferramentas de Web publishing limita muito o que se pode fazer sem programar. HTML é um padrão em constante desenvolvimento e as ferramentas levam no mínimo seis meses para incorporar as extensões e novos padrões aos seus produtos. Para criar páginas com os mais modernos recursos interativos, com uma apresentação sofisticada, acessível e fácil de manter quase sempre ainda é preciso escrever alguma coisa em HTML. É a única forma de não se tornar escravo das ferramentas.

A internet e a world wide web

Para entender como criar e publicar páginas para a Web, precisamos primeiro saber um pouco como funciona a Teia, e a Internet, que está por trás de tudo. Nos parágrafos seguintes relembramos um pouco a sua história.

A Internet é uma rede antiga. Tem mais de 30 anos de idade. Uma das pessoas que teve um papel decisivo na sua criação foi Fidel Castro. Os Estados Unidos tinham passado por uma possibilidade real de ataque nuclear depois da instalação de mísseis russos em Cuba e a interligação das bases militares em rede foi uma estratégia militar para proteger a comunicação em caso de ataque nuclear. Ela ligava máquinas diferentes entre si através de linhas redundantes de maneira que, mesmo que uma ou várias bases fossem reduzidas a pó, as outras estações ainda conseguiriam se comunicar entre si. Então, com medo que Fidel e seus charutos nucleares paralisassem o sistema de defesa do país foi criada a rede ARPANET (Advanced Research Projects Agency Network). A rede interligou vários computadores em algumas universidades e centros de pesquisa envolvidos com projetos militares. Na época, computador ainda era coisa rara. Computador em rede, mais ainda.

Os primeiros usuários (cientistas) usavam a rede para trocar mensagens de correio eletrônico e se conectar remotamente em computadores distantes. O serviço tornou-se tão útil, que as universidades envolvidas começaram a conectar seus departamentos, mesmo os que não tinham a ver com o projeto. Na década de 80, foi a vez da NSFNET, a rede nacional de pesquisa dos Estados Unidos, que conectou os cinco grandes centros regionais de supercomputação e passou também a fazer parte da ARPANET. A NSFNET se tornou espinha dorsal das duas redes, depois chamada de Internet.

A NSFNET levou consigo uma legião de pequenas redes que a ela estavam conectadas. E assim a Internet foi crescendo e crescendo, sem nenhuma organização central. Qualquer centro que achasse seus serviços convenientes podia se amarrar ao nó mais próximo simplesmente pagando as despesas de uma linha dedicada de dados. Em pouco tempo, a Internet já interligava os maiores centros de pesquisa do mundo.

A expansão foi trazendo novos serviços e outras redes de pesquisa, como a Usenet, a Bitnet, EARN e redes de BBSs. O crescimento já era impressionante, mas a popularidade ainda era limitada. Grande parte do tráfego era acadêmico. Operar um sistema de correio eletrônico em geral significava saber operar um jurássico terminal IBM ou máquina Unix, e ter alguma familiaridade com suas interfaces hostis. Para transferir um arquivo era necessário saber usar um programa especial (FTP), mandar comandos para ele e entender os hieroglifos que ele retornava.

O maior problema era a desorganização generalizada da Internet. A Internet era um tremendo caos. Você sabia que poderia transferir um arquivo de qualquer lugar do mundo. O problema era saber se ele existia e onde estava!

A Internet começou a crescer de forma explosiva em 1992, com o surgimento da World Wide Web, um projeto do laboratório CERN em Genebra (eles não estudavam aranhas, mas partículas subatômicas). A Web conseguiu finalmente organizar um pouco as informações da Internet através do hipertexto. No ano seguinte, chegou o Mosaic para Windows # programa desenvolvido por um grupo de estagiários do NCSA (National Center for Supercomputing Applications) da Universidade de Illinois a partir de uma versão anterior para o sistema Unix.

O Mosaic, oferecendo pela primeira vez uma interface gráfica multimídia para a Web, trouxe a grande massa de usuários de PC e Macintosh para dentro da rede. Os provedores de acesso e informação comerciais se multiplicaram, oferecendo às pessoas comuns o mesmo acesso que antes só tinham as grandes organizações e o meio acadêmico.

Os criadores do Mosaic pouco depois de deixar a universidade criaram uma empresa: a Netscape, que foi provavelmente a empresa que teve a maior influência nos rumos seguidos pela Web na sua evolução até os dias de hoje.

A web como um meio de comunicação

Apesar de ter surgido como um serviço de uma rede de computadores, a Web é hoje muito mais que isto e para explorá-la, nem computador é necessário mais. Tecnologias recentes como o Network Computer (NC) - que é um simples terminal para a Web, browsers que vêm embutidos em telefones celulares, e a rede WebTV mostram que a World Wide Web está destinada a preencher todos os espaços da mídia de difusão, não se limitando àqueles que possuem um computador.

A Web, dessa forma, possui um potencial inigualável na história das telecomunicações. É capaz de servir de interface à todos os serviços da Internet e ainda aos tradicionais serviços de voz (telefone), televisão, rádio e mídias impressas. Pode integrar tudo e interagir com tudo. Ainda estamos dando os primeiros passos neste novo terreno, e cada dia nos traz mais certeza de que trata-se de um caminho sem volta.

Diferente dos meios tradicionais de comunicação de massa, a World Wide Web é uma mídia democrática. O usuário não precisa possuir uma estação difusora, uma concessão, uma gráfica ou qualquer coisa do tipo para poder publicar sua informação e influenciar sua audiência. Todos podem receber as informações de todos. Qualquer um pode prover informação. O poder da informação está nas mãos de todos os que puderem ter um espaço na Teia, e não mais apenas com as aranhas ou com aqueles que possuem os meios de difusão tradicionais.

A World Wide Web e a Internet

A World Wide Web é o nome do mais popular dos serviços da Internet. Por esse motivo, é freqüentemente confundida com a própria Internet. Mas Web e Internet não são a mesma coisa, e precisamos conhecer bem a diferença entre as duas antes que possamos começar a desenvolver páginas e aplicações para a Web.

Internet é o nome dado ao conjunto de computadores, provedores de acesso, satélites, cabos e serviços que formam uma rede mundial baseada em uma coleção de protocolos de comunicação conhecidos como TCP/IP.

Protocolos

É através de protocolos de comunicação que um computador pode se comunicar com outro através de uma linha telefônica ou placa de rede sem que o usuário precise se preocupar em saber qual o meio físico que está sendo utilizado. O sistema Windows possui protocolos que permitem facilmente interligar computadores rodando Windows entre si. Os mesmos protocolos podem não servir para fazer com que uma máquina Windows se comunique com uma máquina Unix ou Macintosh, pois essas máquinas possuem arquiteturas diferentes. TCP/IP é uma suite de protocolos padrão que foi adotado como "língua oficial" da Internet. Para fazer parte da Internet, um computador precisa saber se comunicar em TCP/IP. Todas as operações de rede são traduzidas para TCP/IP antes que possam funcionar na Internet.

Endereços Internet

Um dos protocolos mais importantes da suite TCP/IP é o protocolo de rede IP - Internet Protocol. Ele define a forma de endereçamento que permite a localização de um computador na Internet, através de um conjunto de dígitos chamado de endereço IP. Qualquer máquina acessível através da Internet tem um endereço IP exclusivo. Esse endereço pode ser temporário ou permanente. Quando você se conecta a um provedor via linha telefônica, ele atribui um número IP temporário à sua máquina que permitirá que ela faça parte da Internet enquanto durar a sua sessão no provedor. Só assim é possível receber informações em um browser ou enviar e-mail.

Computadores que hospedam páginas Web e que oferecem outros serviços pela Internet precisam de um endereço IP fixo, para que você possa localizá-los a qualquer hora. Por exemplo, 200.231.191.10 é o endereço IP da máquina onde está localizado o servidor Web do IBPINET em São Paulo. Você pode localizá-lo digitando http://200.231.191.10/ no campo de endereços do seu navegador.

Serviço de Nomes (DNS A Domain Name Service)

Embora cada computador seja identificado de forma exclusiva através de um endereço IP, não é dessa forma que costumamos localizá-los na Internet. Um dos serviços fundamentais ao funcionamento da Internet é o serviço de nomes de domínio. Esse serviço é oferecido por várias máquinas espalhadas pela Internet e que guardam tabelas que associam o nome de uma máquina ou de uma rede a um endereço IP.

Quando você digita o nome de uma máquina no seu browser (por exemplo, www.ibpinet.net), o browser primeiro tenta localizá-la consultando uma outra máquina (cujo endereço IP o browser já conhece) que oferece o serviço de nomes. Essa máquina consulta outros serviços de nomes espalhados pela Internet e em pouco tempo devolve o endereço IP correspondente ao nome solicitado (www.ibpinet.net devolverá 200.231.191.10).

Se o sistema de nomes falhar, o browser não conseguirá o número IP que precisa e assim não localizará a máquina correspondente (mesmo que ela não esteja fora do ar).

Portas e serviços da Internet

A Internet existe há mais de três décadas. Na maior parte desse período ela era restrita aos meios acadêmicos e militares e oferecia poucos serviços. Os principais serviços utilizados na rede eram a transferência de arquivos entre computadores (usando aplicações que se comunicavam através do protocolo FTP - File Transfer Protocol), o correio eletrônico e a emulação de terminal, que permitia o acesso a computadores remotos. Esses serviços eram oferecidos em algumas máquinas onde rodavam programas servidores, permanentemente no ar aguardando a conexão de um cliente em uma de suas portas de comunicação.

Uma mesma máquina pode oferecer vários serviços, desde que em portas diferentes. Imagine que o endereço IP de uma máquina seja como o endereço de um prédio de escritórios. Localizando o prédio, você procura por um determinado serviço que é prestado por uma empresa. Pode haver várias empresas no prédio. Cada uma tem uma sala identificada por um número. O número da sala é análogo à porta de serviços de uma máquina. Para facilitar a vida dos clientes, várias portas, identificadas por um número, foram padronizadas, ou seja, em computadores diferentes, você geralmente encontra os mesmos serviços localizados em portas com os mesmos números.

Para ter acesso a um serviço é preciso ter um cliente apropriado que saiba conversar na língua (protocolo) do servidor (programa que oferece o serviço na porta buscada pelo cliente). Como as portas são padronizadas, um cliente muitas vezes só precisa saber o nome ou endereço IP da máquina que tem determinado serviço, pois o número da porta ele supõe que seja o número padrão.

Se você usa o Internet Explorer para ter acesso ao site do IBPINET ou o Outlook Express para ler seu e-mail no IBPINET, é possível que você esteja se conectando à mesma máquina. O Outlook Express se conectará à porta 110 para verificar suas mensagens. Na hora de enviar, utilizará os serviços da porta 25. O Internet Explorer buscará a home page do IBPINET na porta 80, mas se você decidir fazer compras e utilizar o servidor seguro do IBPINET, se o browser utilizará a porta 443.

A Web entre os serviços da Internet

O serviço de emulação de terminal remoto - Telnet, requer que o usuário conheça o sistema remoto, tenha permissão de acesso e saiba utilizá-lo. O acesso é orientado a caracter e pode ser feito em MS-DOS. No início da popularização da Internet, vários serviços eram oferecidos apenas via Telnet, que funcionava como uma espécie de cliente universal. O usuário, ligado à Internet, poderia pesquisar o banco de dados da Nasa, bater papo com usuários remotos e pesquisar repositórios de informações pelo mundo afora. A World Wide Web surgiu inicialmente como mais um desses serviços, que poderia ser utilizado através de um cliente Telnet apontando para o endereço info.cern.ch. O serviço ainda existe, por razões históricas. É possível acessá-lo via linha de comando no DOS ou Unix usando:

telnet info.cern.ch

É um acesso orientado a carácter e na época concorria com outros serviços de informações mais populares como o WAIS, o Gopher e o Archie, que também tentavam organizar as informações da Internet.

O acesso direto ao servidor, usando um cliente conectado à sua porta de comunicação é sempre mais rápido e eficiente que o acesso via Telnet. Os primeiros clientes Web eram orientados a carácter (não exibiam fontes nem imagens) e rodavam apenas em ambientes Unix. Com o surgimento do X-Mosaic, o primeiro browser gráfico rodando em ambiente X-Window (Unix), a Web começou a se tornar popular (pelo menos entre os acadêmicos). O crescimento explosivo da Internet aconteceu quando finalmente o Mosaic passou a ser acessível ao usuário comum não-acadêmico através do Win-Mosaic e posteriormente do Mac-Mosaic. O Mosaic, desenvolvido por Marc Andreesen quando estagiava no NCSA (National Center for Supercomputing Applications) abriu caminho para vários outros clientes Web, hoje chamados de browsers, e que passaram a ser o primeiro (e às vezes único) contato de muitos usuários com a Internet. O próprio Andreesen, ao deixar o NCSA, fundou a Netscape Communications, que dominou a Web por vários anos.

Os browsers de hoje não são mais apenas clientes Web. Eles leem páginas locais, enviam e-mail, permitem que o usuário leia grupos de notícias, e-mail, execute aplicações locais, acesse aplicações remotas e diversos outros serviços da Internet. O browser moderno é um cliente universal para toda a Internet, embora esse acesso ocorra através da World Wide Web.

A plataforma Web

A World Wide Web é um serviço TCP/IP baseado no protocolo de nível de aplicação HTTP (HyperText Transfer Protocol) # Protocolo de Transferência de Hipertexto. A plataforma Web é o meio virtual formado pelos servidores HTTP (servidores Web que mantém sites), clientes HTTP (browsers) e protocolo HTTP (a língua comum entre o cliente e o servidor).

Hipertexto

Hipertexto é uma forma não linear de publicação de informações onde palavras que aparecem no decorrer do texto podem levar a outras seções de um documento, outros documentos ou até outros sistemas de informação, fugindo da estrutura linear original de um texto simples. O hipertexto baseia-se em ligações entre dois pontos chamados de âncoras. As ligações entre as âncoras são chamadas de vínculos (links). Vínculos de hipertexto são implementados em textos publicados na Web usando uma linguagem declarativa chamada HTML - HyperText Markup Language.

2 Web Design e HTML

HTML é usada para marcar um arquivo de texto simples (texto simples é texto sem formatação alguma, visualizável em qualquer editor de textos). Se um arquivo de texto simples receber uma extensão de nome de arquivo H.htmlI ou H.htmI, um navegador como o Internet Explorer irá tentar  interpretá-lo como HTML. Dentro do texto, pode-se definir descritores (ou comandos HTML) entre os símbolos H<I e H>:

Os descritores só serão visíveis quando o arquivo for visualizado em um editor de textos (como o Bloco de Notas do Windows). Ao ser visualizado em um programa capaz de entender HTML, apenas o texto aparece, com uma aparência determinada pelos descritores:

Os descritores só serão visíveis quando o arquivo for visualizado em um editor de textos (como o Bloco de Notas do Windows). Ao ser visualizado em um programa capaz de entender HTML, apenas o texto aparece, com uma aparência determinada pelos descritores:

O texto com marcadores é chamado código-fonte HTML. O código-fonte é usado para produzir a página visualizada o browser que é chamada de página HTML ou página Web.

O browser, por ser capaz de exibir diversos tipos de informação, depende totalmente da extensão do arquivo para saber o que fazer com ele. Se a extensão H.htmI ou H.htmlI não estiver presente ou se o arquivo tiver a extensão "txt", o browser exibirá o código-fonte.

Além da formatação da página, o HTML é responsável também pela inclusão de imagens e definição dos links que permitem a navegação em hipertexto.

Servidor HTTP

O serviço HTTP funciona de forma semelhante ao serviço FTP - File Transfer Protocol (protocolo de comunicação usado na Web para operações de transferência de arquivos). Ambos oferecem aos seus clientes um sistema de arquivos virtual onde podem localizar recursos (arquivos, programas, etc.) e transferi-los de um computador para outro. O sistema virtual pode ter uma hierarquia própria e totalmente diferente do sistema de arquivos real do computador, ao qual está vinculado. Geralmente um servidor tem acesso a uma área restrita da máquina e só permite a visualização dos arquivos lá contidos. O sistema de arquivos virtual usa uma notação diferente daquela usada pelo sistema real. Por exemplo, considere o seguinte sistema de diretórios no Windows:

Suponha que um servidor HTTP foi instalado nessa máquina. Na instalação, ele é configurado para administrar um sistema de diretórios a partir de um certo diretório. Suponha que esse diretório é C:DocumentosWeb. Para o servidor, isto é seu diretório raiz. No sistema de diretórios virtual, o diretório raiz de um servidor é chamado de / (barra). O sistema de arquivos virtual (a parte que um browser poderá ter acesso) é:

Um browser jamais terá acesso ao diretório Windows, por exemplo. A principal função de um servidor Web é, portanto, administrar um sistema de arquivos e diretórios virtual e atender à requisições dos clientes HTTP (os browsers), que, na maior parte das vezes, enviam comandos HTTP pedindo que o servidor devolva um ou mais arquivos localizados nesses diretórios. Os pedidos são feitos através de uma sintaxe especial chamada de URI.

URIs

Todas as comunicações na plataforma Web utilizam uma sintaxe de endereçamento chamada URI - Uniform Resource Identifier - para localizar os recursos que são transferidos. O serviço HTTP depende da URI que é usada para localizar qualquer coisa na Internet. Contém duas informações essenciais: 1) COMO transferir o objeto (o protocolo); 2) ONDE encontrá-lo (o endereço da máquina e o caminho virtual). URIs tipicamente são constituídas de três partes:

Todas as comunicações na plataforma Web utilizam uma sintaxe de endereçamento chamada URI - Uniform Resource Identifier - para localizar os recursos que são transferidos. O serviço HTTP depende da URI que é usada para localizar qualquer coisa na Internet. Contém duas informações essenciais: 1) COMO transferir o objeto (o protocolo); 2) ONDE encontrá-lo (o endereço da máquina e o caminho virtual). URIs tipicamente são constituídas de três partes:

  • mecanismo (protocolo) usado para ter acesso aos recursos (geralmente HTTP)
  • nome da máquina (precedido de //) onde o serviço remoto é oferecido (e a porta, se o serviço não estiver em uma porta padrão) ou outro nome através do qual o serviço possa ser localizado (sem //).
  • nome do recurso (arquivo, programa) na forma de um caminho (no sistema de arquivos virtual do servidor) onde se possa encontrá-lo dentro da máquina. Sintaxe típica:

protocolo://maquina:porta/caminho/recurso

3 Padrões de Browsers

O browser é um programa que serve de interface universal a todos os serviços que podem ser oferecidos via Web. É para a plataforma Web o que o sistema operacional (Windows, Linux, Mac) é para o computador. A principal função de um browser é ler e exibir o conteúdo de uma página Web. A maior parte dos browsers também é capaz de exibir vários outros tipos de informação como diversos formatos de imagens, vídeos, executar sons e rodar programas.

Um browser geralmente é usado como cliente HTTP # aplicação de rede que envia requisições a um servidor HTTP e recebe os dados (uma página HTML, uma imagem, um programa) para exibição, execução ou download. Browsers também podem ser usados off-line como aplicação local do sistema operacional para navegar em sistemas de hipertexto construídos com arquivos HTML (sem precisar de servidor HTTP). Nesse caso, não se comportam como clientes HTTP (já que não estão realizando operações em rede) mas apenas como visualizadores de mídia interativa capazes de visualizar HTML, imagens, sons, programas etc.

Como os browsers precisam interpretar vários tipos de código (código de imagens GIF, JPEG, código de programas Java e Flash, códigos de texto HTML ou texto simples) é preciso que ele saiba identificar os dados que recebe do servidor. Isto não é a mesma coisa que identificar um arquivo carregado do disco local, onde ele pode identificar o tipo através da extensão. Quando os dados chegam através da rede, a extensão não significa nada. O servidor precisa informar ao browser o que ele está enviando. Na Web, isto é feito através de uma sintaxe padrão para definir tipos chamada MIME - Multipart Internet Mail Extensions.

Tipos MIME

MIME é uma sintaxe universal para identificar tipos de dados originalmente utilizada para permitir o envio de arquivos anexados via e-mail. O servidor Web possui, internamente, tabelas que relacionam os tipos de dados (na sintaxe MIME) com a extensão dos arquivos por ele gerenciados. Quando ele envia um conjunto de bytes para o browser, envia antes um cabeçalho (semelhante ao cabeçalho de e-mail) informando o número de bytes enviados e o tipo MIME dos dados para que o browser saiba o que fazer com a informação.

O tipo classifica um conjunto de bytes como imagens, textos, vídeos, programas (aplicações), etc. O subtipo informa características particulares de cada tipo. Não basta saber que o arquivo é uma imagem, é preciso saber qual o formato, pois o códigos usados para produzir imagens de mesma aparência gráfica podem diferir bastante entre si. Tanto no servidor como no browser há tabelas que relacionam extensões de arquivo a tipos MIME: