next up previous
Next: Tarefas Up: FMA 215 Aula 11: Previous: FMA 215 Aula 11:

Alguns Conceitos Relevantes

A linguagem HTML (Hyper-Text Markup Language) é uma das linguagem mais flexíveis e de utilidade mais universal na Internet. Trata-se, de certa forma, de uma novidade conceitual, pois ela é muito mais o que se poderia chamar de uma linguagem de comunicação digital do que uma linguagem tradicional de programação. Esta linguagem de comunicação é transportada na rede por um dos protocolos mais recentes da Internet, o HTTP (Hyper-Text Transport Protocol). É através da implementação destes dois elementos que surge a teia mundial WWW (World Wide Web). Trata-se aqui de um sistema mundial de armazenamento e transporte de informação que pode ser encarado como uma enorme base de dados, com uma estrutura muito fluída e pouco rígida, que coloca quantidades inimagináveis de informação ao alcance de todos. Além disso, este novo aspecto da Internet torna possível a qualquer um comunicar-se com praticamente todo o planeta.

Este sistema leva rapidamente ao que se convencionou chamar de sobrecarga de informação (information overload). Há tanta informação disponível que passamos a gastar uma parcela cada vez maior de nosso tempo tentando achar alguma coisa de útil em meio a esta massa de dados, em geral com muito pouco sucesso. É um fato básico da informática que a disponibilidade de uma quantidade muito grande de informação sem que existam meios rápidos para se procurar, localizar e recuperar a informação que se quer para um determinado fim é o mesmo que não ter informação nenhuma. Ou é até pior, pois tende a nos deixar muito mais estressados. Este problema está sendo abordado no desenvolvimento atual da Internet pelos poderosíssimos sistemas de busca que hoje existem em operação na rede. Além disso, há um esforço contínuo de se organizar a informação e melhorar o acesso a ela. Infelizmente muitos sites da Internet ainda enfatizam muito mais a parte estética das suas páginas de HTML do que a parte de organização da informação. Apesar de que é importante que um site apresente e mantenha uma certa consistência estilística, estes sites, por não se preocuparem suficientemente com a consistência de apresentação e organização do conteúdo, costumam ser de utilidade real muito limitada.

O HTML é uma ``markup language'', na qual blocos de texto são formatados de formas específicas. Estes blocos de texto são definidos através de ``tags'' que marcam o seu início e término, delimitando assim a sua extensão e posição no texto. Neste aspecto a estrutura geral de um documento em HTML não é muito diferente da de um documento em LATEX, que é outra ``markup language''. Uma diferença muito importante entre as duas linguagens é que, enquanto o LATEX é uma linguagem concebida para produzir resultados gráficos de formato preciso e alta qualidade, incluindo a formatação de linguagem matemática, exigindo que a fonte seja um texto sem nenhum erro de sintaxe, o HTML é uma linguagem concebida para ser o mais robusta possível, que tipicamente ignora silenciosamente qualquer erro não-fatal de sintaxe no texto da fonte e tem uma preocupação bem menor com o formato preciso do documento resultante. Outra diferença muito importante é que o HTML é, como diz o nome, um sistema de hipertexto, ou seja, é possível definir ``links'' ou atalhos dentro dele que levam de imediato a uma certa página de um determinado documento em algum lugar na rede. Assim, a WWW não é um sistema linear de organização de informação e sim um sistema com um grande número de partes onde quaisquer duas partes podem estar relacionadas diretamente por um link. Esta coisa toda tem a estrutura de um espaço de dimensão muito alta, com um nível muito grande de conectividade entre quaisquer dois pontos da estrutura.

Nas tarefas desta seção vamos trabalhar no sentido de habilitar cada aluno(a) a eventualmente compor a sua home page no projeto Sócrates. Vamos nos ater aos elementos básicos da linguagem, tentando cobrir de forma suficiente os seus principais aspectos e as estruturas mais básicas. Serão deixados de lado tópicos mais avançados tais como ``frames'', páginas de estilo, a criação de formulários através de programas ``cgi-bin'', páginas geradas dinamicamente com ``php'', scripts e programas em Java e o acesso a bancos de dados através de páginas de WWW e do uso de um browser. Também vamos evitar o uso de ``composers'' de HTML, editando as páginas à mão com um editor de texto comum, de forma a termos uma chance de entender como funciona a linguagem. Estas tarefas devem ser realizadas dentro do sistema de janelas X11. O objetivo do exercício é que ao final delas você tenha escrito uma versão rudimentar de sua home page no sistema socrates. Se você já escreveu uma home page, talvez não precise realmente fazer esta aula em tanto detalhe, mas pelo menos dê uma olhada geral. E não apague a sua home page, escreva o material em algum outro arquivo, com outro nome, no mesmo diretório.

O sistema socrates roda um servidor de HTTP, o Apache. Assim, ele pode servir páginas a qualquer site da Internet que as solicite. Há um outro servidor central no Projeto, o servidor euclides, no qual também roda o servidor Apache. Não está implementada nenhuma limitação de acesso para os serviços de transporte de HTML. Estão implementados nestes dois servidores quatro domínios diferentes de páginas da WWW, com as funções descritas a seguir.

Desta forma, além das páginas centrais do projeto, o servidor Apache do socrates está configurado para distribuir home-pages dos usuários do sistema. Qualquer material que seja colocado num diretório chamado WWW na raiz da conta de um usuário é acessível para leitura através do servidor a partir de qualquer ponto da Internet. Assim, todo o material que for colocado lá deve ser considerado como de acesso público. Para que isto funcione, tanto este diretório quanto a raiz de sua conta tem de estar com acesso de leitura permitido para ``other''. Se você quiser fechar algum diretório e proteger alguns de seus arquivos contra leitura, faça isto dentro de algum outro subdiretório que você crie em sua conta.

Você vai usar o emacs (ou seu editor de texto preferido) para editar um arquivo ASCII contendo HTML e o browser mozilla ou netscape para olhar o resultado que se vê através do servidor Apache. O endereço de sua home page no sistema socrates é

http://socrates.if.usp.br/~<username>

Isto é o que se chama de uma URL (Universal Resource Locator), que é o sistema de endereçamento da WWW. A sintaxe é a seguinte: o que está antes do : é o nome de um protocolo da Internet, através do qual o recurso endereçado poderá ser alcançado; logo depois da barra dupla há o endereço Internet do servidor que abriga o recurso; o que vem depois disto é uma instrução sobre a localização do recurso dentro deste servidor. Em geral este último é o path completo de um arquivo dentro do servidor, contado a partir, não da raiz do sistema do servidor, mas de um determinado diretório que é definido como a raiz do servidor HTTP naquela máquina. Em nosso servidor este diretório é o diretório /var/www/ do sistema. No caso acima está sendo usada uma sintaxe adicional, pois a combinação ~<username> representa a raiz da parte da conta do usuário <username> que é visível através do servidor, em nosso caso o diretório WWW na raiz da conta do usuário. Desta forma, nem todo o conteúdo dos discos do servidor é visível através da WWW, escolhemos uma parte definida dele para disponibilizar publicamente para leitura.


next up previous
Next: Tarefas Up: FMA 215 Aula 11: Previous: FMA 215 Aula 11: