Textos de Apoio

cortegesmashInternet και Εφαρμογές Web

10 Νοε 2013 (πριν από 3 χρόνια και 10 μήνες)

433 εμφανίσεις

Instituto Politécnico de Bragança


ESTGMirandela





Desenvolvimento
WEB





Ano lectivo 200
8

/ 200
9



Textos de Apoio











Curso


CET
-

Informática









António Mourão





Error! Use the Home tab to apply Título 1 to the text that you w
ant to appear here.

-

Error! Use the Home tab to apply Título 2 to the text that you want to appear here.


2

Desenvolvimento WEB

©A.Mourão












































Sebenta elaborada p
or

António Mourão, no âmbito da disciplina de
Desenvolviment
o
WEB
, do

curso

de Informática
e Comunicações,
da Escola Superior de Tecnologia e Gestão
de
Mirandela
-

Instituto Politécnico de Bragança.




Error! Use the Home tab to apply Título 1 to the text that you want to appe
ar here.

-

Error! Use the Home tab to apply Título 2 to the text that you want to appear here.



Desenvolvimento WEB


3

Apresentação


O
BJECTIVOS


Pretende
-
se com esta disciplina
dar a conhecer aos alunos algumas das tecnologias
existe
ntes para o desenvolvimento de aplicações
WEB
. No final da disciplina pretende
-
se
que os
alunos
dominem algumas dessas técnicas, nomeadamente

a
edição de documentos
HTML

e XHTML
, a criação de folhas de estilo (CSS), integração de JavaScript para
interactiv
idade com o utilizador

e a
edição

de documentos
HTML dinâmico
.


P
ROGRAMA
D
ETALHADO

Internet

Aparecimento da Internet
,
Conceitos iniciais da Internet
,
Transmission Control
Proto
col/Internet Protocol (TCP/IP), Interligação de Redes, E
ndereçamento
,
Domain Na
me Server

Serviços na Internet

Correio Electrónico: e
-
mail
,
Gr
upos de discussão: Newsgroups,
Chat
, Partilha de
Ficheiros: FTP,
Emulação de terminal: Telnet

World Wide
Web

Introdução

,
Modelo WWW
,
Esquem
a de Nomeação Universal (URL),
Comuni
cação Cliente/Ser
vidor,
Hipert
exto, Hipermédia e Multimédia

Tecnologias
WEB

HTML
,
Folhas de Estilo (Cascading Style Sheets: css)
, X
ML (eXtensible Markup
Language)
, C
GI e PERL
,
PHP
-

Hypertext Preprocessor
, ASP



Active Server
Pages
, Java,
JavaScript
,
ActiveX
,
Flash

Desenvo
lvimento
WEB

Público
-
alvo
, Organização (formas de organização), Navegabilidade e Desenho de
página

(u
tilização d
o ecrã, desenho independente da plataforma, tempos de resposta,
ligações
,
e
screver para a
WEB
)
, Legibilidade, Tecnologia, Manutenção.

HTML

Edito
res de HTML, Elementos e tags (atributos, símbolos e caracteres especiais,
comentários), Estrutura básica de um Documento HTML
, Cores, Texto,
Tabelas,
Imagens, Ligações,
Frames
.

Validação do código HTML

e Acessibilidade.

XHTML e HTML

Error! Use the Home tab to apply Título 1 to the text that you want to appear here.

-

Error! Use the Home tab to apply Título 2 to the text that you want to appear here.


4

Desenvolvimento WEB

©A.Mourão


XHTML (
Extensible Hype
rText Markup Language
),
Estrutura básica de um
documento XHTML, Principais diferenças entre HTML e XHTML, XHTML 1.1

CSS: Folhas de Estilo

Conceitos Básicos, Sintaxe usada na definição de estilos, Unidades de medidas,
Agrupamento, herança e encadeamento, Pr
opriedades comuns a vários elementos,
Pseudo
-
classes e pseudo
-
elementos, Modelo de Formatação
, Cores, Tipos de letras,
Formatação de Texto, Listas e Marcadores, Outros efeitos de Estilo, Consultas de
referência.

JavaScript

Introdução

, Trabalhar com Object
os, Localização dos Scripts, Conceitos
elementares, Expressões e Operadores, Funções, Estruturas de Controlo de Fluxo,
Objectos, Propriedades e Métodos, Criação de novos objectos e associação de
métodos, Objectos integrados no JavaScript, Objectos disponib
ilizados pelos
Navegadores Web.

HTML Dinâmico

Introdução

, Gestão de Eventos, O objecto window, O objecto history, O objecto
location, O objecto document, O objecto navigator, O objecto screen, O objecto
event, Objectos que representam elementos do HTML, E
xtensões de Objectos
HTML, JavaScript e Tabelas, JavaScript e Formulários, JavaScript e Cookies.


M
ETODOLOGIA
P
EDAGÓGICA


E
STRATÉGIAS
F
UNCIONAIS


O método pedagógico utilizado nas aulas teóricas é o método expositivo que
possibilita a transmissão de infor
mações e conhecimentos com continuidade, logicamente
estruturados com um dispêndio mínimo de tempo. É também aplicado o método
interrogativo, questionando sistematicamente os alunos por forma a que os próprios
descubram as coisas consideradas importantes.


Nas aulas práticas, embora o método mais utilizado seja o activo, suscitando dessa
forma a actividade dos alunos através da resolução de exercícios e análise de casos
práticos semelhantes à realidade profissional, é também usado o método interrogativo
com
o forma de rever a matéria leccionada nas aulas teóricas.



Error! U
se the Home tab to apply Título 1 to the text that you want to appear here.

-

Error! Use the Home tab to apply Título 2 to the text that you want to appear here.



Desenvolvimento WEB


5

A
VALIAÇÃO


A avaliação da disciplina tem por objectivo avaliar a capacidade do aluno em
aplicar os conhecimentos adquiri
dos ao longo do semestre
. S
erá constitu
ída
pela
realização de prova
s

escrita
s

e de provas pr
áticas.


Época Normal de Exame
:


Assiduidade e Participação
:
com peso de 5% na nota final (ficam admitidos a este item os
alunos que tenham assistido a um mínimo de 75% das aulas
previstas para a disciplina)

Componente Te
órica
*
:

Exame escri
to

(sem consulta)
. P
eso de 20
% na nota Final

(
25
%
caso os alunos não alcancem mínimos na assiduidade e
participação, ou a nota obtida

neste exame

seja superior à nota
obtida no item assiduidade e participação).

Componente Prática
*
:

Ficha

pr
ática

sobre XHT
M
L
, realizado a meio do semestre e com
peso de 20
% na nota final

Ficha prática

sobre CSS, realizado a meio do semestre e com
peso
de 20
% na nota final

Ficha Prática
sobre JavaScript, a realizar em data coincidente com a
1ª/2ª chamada de exame e com
peso de

3
5% na nota final
.

Alternativamente a estas três fichas os alunos poderão
optar pela
realização de um exame final prático com peso de 75% na nota
Final.


Época
de Recurso e Especiais
:

Componente Teórica
*
: Exame escrito com peso de 25
% na nota Final

Compon
ente Prática
*
: Exame prático com peso de 75
% na nota Final



* Nota mínima para avaliação: Só serão avaliados os alunos que tenham obtido nota
mínima de 6.5 valores em cada um dos dois tipos de avaliação implementados
(
Componente teórica e Componente Práti
ca, sendo que na componente prática a nota
mínima deverá ser obtida em cada uma das fichas práticas realizadas
).


B
IBLIOGRAFIA



António Mourão
-

Textos de Apoio
para a disciplina de Desenvolvimento
WEB



ESTGM, 2004
.

Error! Use the Home tab to apply Título 1 to the text that you want to appear here.

-

Error! Use the Home tab to apply Título 2 to the text that you want to appear here.


6

Desenvolvimento WEB

©A.Mourão




Manuel Lemos


Estar na Internet


MacG
rawHill, 1988


ISBN:972
-
8298
-
94
-
3



Jakob Nielsen, New Riders
-

Designing
Web

Usability: The Practice of Simplicity
-

Publishing, Indianapolis, 2000



João Correia Lopes


Apontamentos d
e disciplina


FEUP, 2002
-

Porto



Pedro Coelho


HTML 4 & XHTML, Curso Co
mpleto


FCA, 2001


3ª Edição


ISBN: 972
-
722
-
242
-
0



João Pedro Gomes


Apontamentos de disciplina


ESTGM, 2003, Mirandela



HTML 4.01 Specification Recommendation
-

The World Wide
Web

Consortium
-

http://www.w3.org



HTML 4
.0 Reference


Web Design Group:
http://www.htmlhelp.com/reference/html40/



XHTML™ 1.0 The Extensible HyperText Markup Language (Segunda Edição)


The
World Wide
Web

Consortium
-

http://www.maujor.com/w3c/xhtml10_2ed.html



XML em 10 Pontos
-

The World Wide
Web

Consortium
-

http://paginas.terra.com.br/i
nformatica/mja/W3C/XML
-
in
-
10
-
points.pt
-
BR.html



Cascading Style Sheets Level 1 e 2
-

The World Wide
Web

Consortium


http://www.w3.org



Folhas de Estilo CSS nível 1
-

The World Wide
Web

Consortium


versão original
e
m:
http://www.w3.org/TR/REC
-
CSS1/
. O
u versão traduzida para português:

http://geocities.yahoo.com.br/doc2web/W3C/CSS1/REC
-
CSS1
-
19990111.html



Folhas de Estilo CSS nível 2

-

The World Wide
Web

Consortium


versão original
e
m:
http://www.w3.org/TR/REC
-
CSS2/
. O
u tutorial em Porguês:
http://geocities.yahoo.com.br/doc2web/Aprender/CSS2/Apresentacao.html

-

Tutorial:
JD Messarus
-

2001



Cascading Style Sheets

-

Web Design Group:
http://www.htmlhelp.com
/reference/css/



Pedro Coelho


JavaScript, Animação e Programação em Páginas
WEB



FCA, 2003


3ª edição


ISBN: 972
-
722
-
254
-
4



Client JavaScript 1.5 Guide
-

Netscape Communications
-

http://devedge.netscape.com/library/manuals/2000/javascript/1.5/guide



Client JavaScript 1.5 Reference
-

Netscape Communications
-

http://devedge.nets
cape.com/library/manuals/2000/javascript/1.5/reference



Document Object Model (DOM) Level 1
,2,3

-

The World Wide
Web

Consortium

-


http://www.w3.org/DOM/


Error! Use the Home tab to apply Título 1 to the text that you want to appear here.

-

Error! Use the Home tab to apply Título 2 to the text that you want to appear here.



Desenvolvimento WEB


7



Error! Use the Home tab to apply Título 1 to the text that you want to appear here.

-

Error! Use th
e Home tab to apply Título 2 to the text that you want to appear here.


8

Desenvolvimento WEB

©A.Mourão


I
nternet


A
PARECIMENTO DA
I
NTERNET

A palavra
InterNet

vem d
o Inglês
NET

(rede) e
INTER

(entre). Em informática
uma
rede

é um conjunto de computadores interligados entre si para troca de informação.
A Internet é então um grande conjunto de redes informáticas interligadas por todo o
mundo.

-

A Internet é também conh
ecida como o ciberespaço. Este conceito foi tornado popular
pelo escritor de ficção
Willian

Gobson
, no seu livro
Neuromancer
. O ciberespaço é um
espaço imaginário onde a mente humana se funde com a máquina (mundo cibernético).
A Internet não será comparada

com o ciberespaço, uma vez que, a fusão entre a mente
dos utilizadores e os computadores só poderá ser considerada em sentido figurado.


As origens da actual Internet remontam aos anos 60
, em plena época de guerra fria.
Na altura
começaram a aparecer novo
s impulsos no chamado Processamento Electrónico
de Dados (EDP),
fomentados

pelos departamentos de defesa das grandes p
otencias
militares da altura, com o intuito de manter as ligações entre diferentes pontos dos paíse
s

em caso de guerra nuclear.

A Internet

surgiu então a partir de um projecto que foi criado em 1969 pelo
Defense
Advanced Research Projects Agency

(DARPA) (
www.arpa.mil
)

chamado de ARPNET
.

Este

projecto consistia no desenvolvimento de uma rede segura para a
transmissão de
informação entre instituições norte
-
americanas que trabalhavam no desenvolvimento e
fornecimento de recursos militares.


O grupo responsável por este projecto reuniu
-
se pela 1ª vez em Outubro de 1968; A
primeira ligação com sucesso efectuada

entre dois computadores distantes
foi

realizada
em Novembro de 1969 (entre Los Angeles
e Standford); em Dezembro de 1969 a
ARPNET foi oficialmente criada tendo ligados 4 computadores (Los Angeles, Standford,
Santa Barbara, Utah); em 1972 já er
am 40 comput
adores ligados na AR
PNET;

Com a adesão de grande parte das universidades norte
-
americanas a este projecto , a
rede cresceu rapidamente e de tal modo que teve de ser dividida em duas redes menores,
separando os computadores das instituições
militares
, por
um lado, dos computadores das
instituições não militares, por outro.

Para interligar as duas redes foi desenvolvida uma tecnologia de comunicação em redes
de computadores, a que se chamou

inicialmente


Network Control Protocol (NCP)
.
Mais tarde veio a ser
substituído

pelo TPC/IP
.

Error! Use the Home tab to apply Título 1 to the text that you want to appear here.

-

Error! Use the Home tab
to apply Título 2 to the text that you want to appear here.



Desenvolvimento WEB


9

A rede foi crescendo interligando cada vez mais redes de computadores de
universidades por todo o mundo, até aos dias de hoje que interliga computadores de todos
os tipos de organizações para além de universidades
,

instituições mi
litares

e
computadores pessoais
.


Figura
1
: A Internet

C
ONCEITOS INICIAIS DA

I
NTERNET

A ARPANET original cresceu e deu origem à actual a Internet. A Internet foi
baseada na
ideia

de que haveria múltiplas redes independentes (começ
ando com a
ARPANET como rede pioneira e incluindo posteriormente redes de satélites, de rádio,
etc.). A Internet como conhecemos hoje incorpora uma
ideia
-
chave:
rede de
arquitectura

aberta
.

Nesta abordagem, a opção pela tecnologia de qualquer rede individ
ual não é ditada
por nenhuma
arquitectura

de rede particular e sim escolhida livremente pelos seus

desenvolvedores

.

Numa rede de
arquitectura

aberta, as redes individuais podem ser separadamente
desenhadas e desenvolvidas e cada uma pode ter sua interfac
e própria que pode ser
oferecida a
utilizadores e fornecedores de serviços
. Cada rede pode ser desenhada de
acordo com o ambiente e os
requisitos dos seus utilizadores

Para fazer comunicar estas redes todas é necessário que exista
m

protocolo
s

de
comunicaç
ão capaz
es

de satisfazer as necessidades de um ambiente de redes de
arquitectura

aberta.

Error! Use the Home tab to a
pply Título 1 to the text that you want to appear here.

-

Error! Use the Home tab to apply Título 2 to the text that you want to appear here.


10

Desenvolvimento WEB

©A.Mourão


Para assegurar que diferentes tipos de computadores possam
trabalhar

em conjunto,
os
programadores

desenvolvem os seus programas utilizando
Protocolos de
Comunicação

standards

Um protocolo é um conjunto de regras que descrevem, em termos técnicos, como
“alguma coisa” deve funcionar.

Os
Internet Protocol

englobam um vasto conjunto de protocolos de comunicação,
dos quais, dois dos mais
conhecidos e utilizados

são o
Trans
mission Control Protocol

(
TCP
) e o Internet Protocol (
IP
).



Figura
2
: Modelo OSI e alguns protocolos para a Internet

Transmission Control Protocol/Internet Protocol (TCP/IP)


Os detalhes técnicos do que é o TCP/IP vão para além d
o âmbito desta disciplina,
no entanto

será necessário conhecer algumas ideias básicas:


A informação na Internet não circula de forma constante
, nem é transmitida toda de
uma vez só. A

informação antes de ser transmitida é dividida em pequenos blocos de
in
formação


pacotes
,

que são depois enviados para o seu destino pelos mais diversos
trajectos.


Funcionamento resumido do processamento da

Comunicação
na Internet

Error! Use the Home tab to apply Tít
ulo 1 to the text that you want to appear here.

-

Error! Use the Home tab to apply Título 2 to the text that you want to appear here.



Desenvolvimento WEB


11



A Aplicação que pretende enviar qualquer informação indica o destinatário e passa
a mensagem (
ficheiros, imagem, etc
.
) para o TCP.



A responsabilidade da divisão da informação em
segmentos

é então do TCP. O
TCP numera sequencialmente cada segmento, colocando também neles,

a morada
do “destinatário” e a morada do “remetente”.

O TCP também coloca em
cada
segmento

alguma informação adicional para controlo
de erros.



A informação é depois enviada para a rede
,
sendo
o Internet Protocol (IP)

responsável

por a fazer chegar correctamente ao destinatário
.


O IP podemos dizer que é o carteiro de serviço
!



O IP

do destinatário aceita então todos os
datagramas

que lhe são endereçados e
entrega
-
os

a
o TCP



O

TCP

recebe os
segmentos

e faz a verificação de erros
.

Em caso de erro, o TCP pede ao
remetente

o reenvio dos
segmentos
com erros.



Após terem chegado todos os p
equenos
segmentos

sem erros o TCP é responsável
por ordenar todos esses pacotes tal como estavam no remetente e entrega essa
informação
à aplicação
destinatário que estava
à

espera dela.


Em resumo: O IP
tem o papel de pegar nos pacotes de informação e ent
rega
-
los no
destinatário, o TCP tem como função a de controlar fluxo de informação e garantir
que t
u
do funcione bem e sem erros.

Interligação de Redes

Tal como já foi referido antes, as redes individuais podem ter a sua
estrutura

própria, que é desconheci
da dos restantes.

Os
Routers

(
Encaminhadores
) são os

respons
áveis

pela Interligações de
diferentes
redes. Um
router

não é mais do que um
dispositivo (computador /
máquina) que liga redes
e está dedicado a executar software de encaminhamento de pacotes.

Re
alizam funções de
controlo de tráfego e encaminhamento de pacotes pelo melhor caminho em cada
momento

Error! Use the Home tab to apply Título 1 to the text that you want to appear here.

-

Error! Use the Home tab to apply Título 2 to the text that you want to appear here.


12

Desenvolvimento WEB

©A.Mourão



Figura
3
: Interligação de Redes. In João Pedro Gomes, ESTGM, 2003

As diferentes redes que constituem a Internet estão ligadas p
or
routers
.

Endereçamento

Como é que sabe
onde é que está o
destinatário
?


Tal como cada uma das nossa cas
a
s tem uma morada única, também os
computadores que est
ão

directamente ligados à Internet tê
m endereço
s

único
s

(endereço
IP)
.

Cada endereço IP é form
ado por
um conjunto de 4 Bytes em notação decimal
(0..255) separados por pontos: Ex: 193.136.195.220


A cada computador ligado directamente à Internet (
host
/
anfitrião
) é lhe então
atr
ibuí
do um endereço ún
ic
o de 32 bits (4 bytes). Este endereço está dividid
o em duas
partes:
O endereço de Rede
(Network)
e o endereço anfitrião

(host)
.

O mesmo acontece nos números de
telemó
vel actuais (os primeiros dois indicam a rede
e os restantes
,

o número propriamente dito)



Figura
4
: O endereço I
P: Conjunto de 32 bits, agrupados em 4 octetos

Error! Use the Home tab to apply Título 1 to the text that you want to appear here.

-

Error! Use the Home tab to apply Título 2 to the text that you want to appear here.



Desenvolvimento WEB


13

O endereço de Rede (Network)


O endereço de rede, tal como o próprio nome indica identifica a rede e deverá, caso
se queira ligar a rede à Internet, ser atr
ibuí
do pela
Internet Network Information Center

(Inte
rNIC).

Os I
S
P

(
Internet Services Providers
)

podem

à InterNIC blocos de endereços de Internet
para
depois
os
distribuir
pelos
seus clientes.

O endereço de anfitrião (host)


Este endereço identifica o computador dentro da rede e é atribuído pelo
adm
ini
strado
r de rede.

DNS


Domain Name Server

Por forma a se poder comunicar com um qualquer computador ligado à Internet é
preciso sempr
e saber qual o seu endereço IP.

Em alguns serviços da Internet isso é transparente para o utilizador e são os
programas de comuni
cação responsáveis por todo esse serviço, mas existem serviços (ex:
www e ftp) em que é o utilizador que
diz

a que computador (
host
) se quer ligar.

Os computadores lidam melhor com números e os humanos lidam, geralmente,
melhor com nomes. Como seria se f
ossemos conhecidos pelo nosso BI em vez do nosso
nome.

Para não termos de fixar qual o endereço IP foram então criados os Servidores de
Nome de Domínio (Servidores DNS)

Os servidores DNS
fazem a gestão de
bases de dados
em que são guardados os IPs e
respe
ctivos
nomes de

domínio, permitindo assim fazer a

tradução de um sistema para
outro.


Em toda a Internet não existe apenas um Servidor de DNS, tal seria actualmente
incomportável. Se um servidor DNS não consegue determinar o endereço IP de um
determinado n
ome de domínio, então faz um redireccionamento do pedido para outro
servidor DNS que o possa fazer. Esse processo é hierárquico.

Uma vantagem da utilização de nomes de domínio é que se pode alterar o endereço IP
de um computador mantendo o seu nome de domí
nio, sem que o utilizador final se
aperceba.


193.136.195.220


www.ipb.pt

66.187.232.30



ftp.redhat.com

212.55.150.193



www.fcporto.pt

Alguns nome de domínio e respectivos IPs
actuais
.

Error! Use the Home tab to apply Título 1 to the text that you want to appear here.

-

Error! Use the Home tab to apply Título 2 to the text tha
t you want to appear here.


14

Desenvolvimento WEB

©A.Mourão


Convenções dos nomes de domínios

Para a criação de nomes de domínios

existem também um conjunto de regras que
permitem a quem analisa esse “nome” saber o que é que vai encontrar ao “visitar” esse
anfitrião.


www.estgm.ipb.pt



Os domínios de topo (
top level domains
)
-

situados

à direita do último .
(ponto)
separador são:

I
dentificadores
N
acionais



.pt

Portugal



.es

Espanha



.br

Brasil

Geralmente este tipo de identificador é representado por duas letras e indicam o País
onde está
registado (poderá estar situado em qualquer parte do mundo)
o
computador ligado à Internet. C
ada País é responsável pela gestão do seu Domínio
geográfico. Em Portugal essa tarefa é da competência da FCCN (Fundação para a
Computação Científica Nacional)

Identificadores Organizacionais



.com


Comercial



.org


Sem fins lucrativos



.edu


Educaciona
l (USA)



.gov


Governamental



.mil


Militar

Estes tipos de identificadores começaram por ser apenas utilizados nos Estados
Unidos da América, mas estão agora a ser utilizados em toda a parte do Mundo. A
gestão destes domínio de topo é da responsabilidade

da InterNet Corporation for
Assigned Names and Numbers (ICANN).

Outros domínios de Topo


Actualmente, e devido à enormíssima quantidade de computadores ligados à
Internet, começam a aparecer novos domínios de topo


.biz


Empresarial (negocio)


.nome

Pesso
a privada


O nome de domínio de cada computador é único, tal como o seu IP.


Error! Use the Home tab to apply Título 1 to the text that you want to appear here.

-

Error! Use the Home tab to apply Título 2 to the text that you wa
nt to appear here.



Desenvolvimento WEB


15

S
ERVIÇOS NA
I
NTERNET

Ao contrário do que vulgarmente se diz, a Internet não é somente a
Web

(nem é a
WEB!)
, mas sim um conjunto de serviços.

A Internet oferece vários serviços, e
ntre os quais:

-

Correio electrónico (
e
-
mail
), utilizada para enviar/receber mensagens e ficheiros
(de todo o tipo).


Protocolo

de
aplicaç
ão SMTP (
Simple Mail Transfer Protocol
)
,
para troca de emails entre servidores,
e POP

(Post Office Protocol) ou IMAP
(
Internet Message Access Protocol
), para transferência de email entre aplicações
cliente (e.g. thunderbird) e servidores
.

-

Grupos (ou fóruns) de discussão (
Newsgroups
), utilizada para possibilitar a
comunicação entre pessoas com interesses comuns.
Protoco
lo
de aplicação
utilizado
é o NNTP (
Network News Transfer Protocol
).

-

Chat

(IRC, ICQ e Webchats), utilizado para conversação em tempo real.

O
protocolo utilizado é o IRC (
Internet Relay Chat
).


-

Partilha de Ficheiros
(
FTP
), para procura e transferência d
e ficheiros.

FTP (
File
Transfer Protocol
)


-

Emulação de terminal (
Telnet
), para ligação a sistemas remotos.
Protocolos
utilizados: Telnet e mais recentemente o SSH (
Secure Shell
)

-

World Wide
Web

(
WWW
), utilizada para consultas de páginas
Web

e pesquisa d
e
qualquer tipo de informação. P
rotocolo
de aplicação
utilizado é o http (
HyperText
Transfer Protocol
)

ou o https (versão segura do http).


Antes do aparecimento da WWW e nomeadamente dos sistemas de pesquisa de
informação na Internet (motores de busca), e
ram usados outros instrumentos para
localizar informação, nomeadamente:

Archie



Foi o primeiro sistema de pesquisa que conheceu popularidade. Este
sistema de busca encontra
-
se instalado em muitos servidores e pode ser acedido por
telnet (requerendo a pal
avra
archie

como login). Também pode ser acedido por um
programa cliente de
archie

ou por correio electrónico.

Gopher



É também um sistema de pesquisa para todo o tipo de ficheiros
disponíveis. O acesso a um servidor de
gopher

também pode ser feito por t
elnet
(indicando como login a palavra
gopher
) ou então através de programas cliente de
gopher
, com interfaces gráficas mais interessantes.


P
ara executar estes serviços são necessários, tal como já foi referido, protocolos.

Cada serviço disponível na Int
ernet tem o seu protocolo específico.

Error! Use the Home tab to apply Título 1 to the text that you want
to appear here.

-

Error! Use the Home tab to apply Título 2 to the text that you want to appear here.


16

Desenvolvimento WEB

©A.Mourão


Cada computador pode ter vários

programas ligados à Internet,
sendo que cada um deles
responde num
porto

(canal de comunicação do PC


existem 65535 portas de acesso
disponíveis por PC
): o c
abeçalho

de uma
trama

TCP

disponibiliza 16 bits para o porto)


Correio Electrónico: e
-
mail

O correio electrónico (e
-
mail), foi um dos primeiros serviços a ser implementado na
Internet e ainda hoje é provavelmente aquele qu
e é utilizado com maior frequência.

Permite a troca de mensagens entre utilizadores. Essas mensagens, além de texto,
podem conter sons, imagens, entre outros tipos de dados. As mensagens podem chegar ao
seu destino apenas alguns minutos ou mesmo segundos
depois de terem sido enviadas.


Um endereço de e
-
mail consiste em duas partes separadas pelo símbolo @ ("at" ou
arroba):

-

O
username

(nome do utilizador)


É o nome que identifica o utilizador. Pode ser
um nome real ou um pseudónimo.

-

O
domain name

(nom
e do domínio)


É a localização da conta do utilizador na
Internet. As várias partes do nome do domínio são separadas por pontos (.).

Um exemplo de endereço electrónico:
amourao@ipb.pt


Funcionamento e Protocolos

O funcionamento do correio electrónico pod
e ser descrito da seguinte forma:

-

A mensagem de correio electrónico é escrita.

-

Depois de endereçada, a mensagem é enviada até ao servidor de correio electrónico
do remetente.

-

O servidor de correio electrónico do remetente envia a mensagem para o serv
idor de
correio electrónico do destinatário, que a guarda na caixa de correio respectiva.

-

Quando o destinatário procurar por novas mensagens, ela será transferida do
servidor para o computador local.

-

A mensagem de correio electrónico é lida.


O protoco
lo que descreve a forma como o correio electrónico deve ser entregue de
um computador para outro chama
-
se SMTP (Simple Mail Transfer Protocol).

Por toda a Internet há milhões de computadores que correm programas (agentes de
transporte) que asseguram que as

mensagens são transportadas de forma organizada, de
acordo com o protocolo SMTP.


Error! Use the Home tab to apply Título 1 to the text that you want to appea
r here.

-

Error! Use the Home tab to apply Título 2 to the text that you want to appear here.



Desenvolvimento WEB


17

Para utilizarmos o serviço de correio electrónico, também é necessário correr um
programa designado por Cliente de Correio Electrónico. Sempre que esse programa
pretender en
viar ou receber correio, tem de ligar
-
se a um Servidor de Correio
Electrónico. Exemplos de clientes são: Microsoft Outlook Express, Netscape Mail,
Eudora

ou Thundirbird
. Para receber as mensagens de correio electrónico, o cliente acede
ao servidor através
de um dos seguintes protocolos:

POP3 (É o protocolo mais utilizado), IMAP (o menos utilizado) ou http (utilizado
pelo webmail).

O Webmail é uma forma particular de utilização de correio electrónico, no qual tod
as as
acções são feitas via
Web
, sem necessi
dade de utilização de nenhum outro programa
cliente de mail, a não ser um simples navegador


MIME

(Multipurpose Internet Mail Extensions)

O serviço de e
-
mail foi criado originalmente para transmitir mensagens só com
texto, com o evoluir do tempo passou a s
er necessário a transmissão de mensagens com
conteúdo que não fosse apenas texto, como imagens e todo o tipo de ficheiros (dados
binários).

O SMTP

usa uma codificação ASCII (7 bits), onde não “cabem” caracteres
internacionais (acentuados, etc.) e dados bi
nários.

Para permitir o envio de dados binários

(bem como texto acentuado)
, foi criado um
protocolo designado
MIME

(Multipurpose Internet Mail Extensions).
MIME foi
desenvolvido para permitir pass
ar dados binários usando apenas 7 bits.

O
Tipo MIME diz às a
plicações Internet

(não apenas aos agentes de e
-
mail)

que
tipo de ficheiro está a ser trocad
o, como codificar a
transmissão e como
a
descodificar,
quando chegar ao destino.


Grupos de discussão: Newsgroups

Um Newsgroup é um grupo de discussão que possibili
ta a comunicação entre
pessoas com interesses comuns.

A USENET (
Users' Network

-

Rede de Utilizadores),
é um sistema mundial de
grupos de discussão. L
ista todos os computadores que distribuem informação de
Newsgroups.

O mundo dos newsgroups não permite u
m ambiente gráfico mas tudo se passa num
meio muito parecido à nossa caixa de correio electrónico, mensagen
s com perguntas
e/ou respostas, permitindo

a qualquer utilizador da Internet, participar em discussões
com pessoas de todo o mundo sobre praticamente

qualquer assunto.

Error! Use the Home tab to apply Título 1 to the text that you want to appear here.

-

Error! Use the Home tab to apply Título 2 to the text that you want to appear here.


18

Desenvolvimento WEB

©A.Mourão


Os Newsgroups possuem uma terminologia muito própria. A colocação de uma
mensagem individual, num Newsgroup, é chamada de "artigo" (
post
), um "artigo" e as
suas respostas subsequentes compõem um
thread
.

A Usenet está estruturada em grup
os divididos por temas. Esses grupos designam
-
se
por grupos de notícias ou grupos de discussão (
newsgroups

em inglês).

Os grupos de notícias estão divididos em várias hierarquias. Cada hierarquia é
dividida em sub
-
hierarquias, contendo os grupos onde são a
bordados os diferentes
tópicos.

O nome dum grupo é constituído pelos nomes das hierarquias e sub hierarquias
onde está inserido, separado por pontos, começando na hierarquia principal.

pt.mercado.emprego

procura e oferta de emprego

compra, venda, troca e aluguer

Grupos portugueses


Hierarquias dos grupos

Existem quatro g
randes categorias de hierarquias:

-

Grupos tradicionais:

Distribuídas por todo o mundo
:
comp

(
c
omputadores e
informática
);
h
umanities

(h
umanísticas e artes
);
n
ews

(U
senet
);
rec

(e
ntretenimento
);
sci

(
c
iência
);
soc

(
s
ociedade
);
t
alk

(c
onversa e debates
);

misc

(
d
iversos
).

-

Grupos alternativos
:

O acesso aos grupos duma hierarquia alternativa pode ser
facultado a distribuidores que o requeiram às entidades que gerem essa hierarquia.

A
lgumas das hierarquias são:

alt

(alternative
, geral
)
;
bionet

(biologia
);
b
iz

(
n
egócios
).

-

Grupos da Usernet II
:

Hierarquia alternativa, formada para impor maior controlo
sobre o conteúdo dos artigos dos seus grupos.

-

Grupos locais
:
As hierarquias
deste grupo
estão, normalmente, restritas a certos
domínios da Usenet, como paíse
s ou instituições.

Ex.:
pt

(hierarquia principal de
Portugal)
.
O acesso aos grupos duma hierarquia local pode ser facultado a
distribuidores que o requeiram às entidades que gerem essa hierarquia.

Funcionamento

Apesar de a Usenet não estar restrita à Inter
net, a maioria dos utilizadores fazem
-
no
através desta.

Os artigos divulgados circulam através de pontos de distribuição, garantindo a difusão
dos artigos por toda a Usenet.

Erro
r! Use the Home tab to apply Título 1 to the text that you want to appear here.

-

Error! Use the Home tab to apply Título 2 to the text that you want to appear here.



Desenvolvimento WEB


19


-

Quando um utilizador envia um artigo seu a um ponto de distribuição, esse artig
o é
redistribuído automaticamente para outros pontos de distribuição.

-

Cada ponto de distribuição pode redistribuir os artigos que recebe de outros pontos
de distribuição.

-

O processo de difusão não é completamente fiável.

Se os pontos de distribuição es
tão
inacessíveis, os artigos enviados entretanto por outros pontos de distribuição não
são recebidos. E, frequentemente, esses artigos não são reenviados.


Em cada ponto de distribuição corre um programa
servidor de notícias

(
news
server
) que a
rmazena

os a
rtigos recebidos, permitindo o acesso dos utili
zadores aos
artigos armazenados e permitindo também que os utilizadores coloquem novos artigos.


Para ler os artigos da Usenet, o utilizador precisa de usar um programa cliente, que
lhe permite aceder ao servi
dor de notícias, e que se designa por programa de leitura de
artigos (news reader).

Alguns clientes de correio electrónico, como o Microsoft Outlook Express ou o
Netscape Messenger, também são programas de leitura de artigos.

Os programas de leitura de art
igos comunicam com um servidor de notícias, e
transferem para o computador do utilizador os artigos dos grupos de interesse.

O NNTP (Network News Transfer Protocol) é o protocolo de comunicação usado
para comunicar com um servidor de notícias através da In
ternet.

Para que possamos aceder a um servidor de notícias, é necessário saber o endereço
do mesmo. O servidor de notícias do IPB tem como endereço: news.ipb.pt


Chat

Além dos serviços de comunicação em diferido (correio electrónico, grupos de
discussão),
a Internet também disponibiliza serviços para a comunicação em directo, ou
em tempo real.

O IRC (
Internet Relay Chat
) é um serviço da Internet que organiza a conversação
em directo entre grupos de pessoas. Normalmente, o IRC é constituído por redes de
vári
os servidores, estando estes ligados de forma transparente para o utilizador. Cada
utilizador acede a um servidor, através do qual pode conversar com vários utilizadores.

No IRC existem canais ou salas, cada qual com o seu assunto, os utilizadores podem
pa
rticipar num ou vários canais, e as mensagens enviadas para um canal são vistas por
todos os participantes desse canal.


Error! Use the Home tab to apply Título 1 to the text that you want to appear here.

-

Error! Use the Home tab to apply Título 2 to the text that you want to appear here.


20

Desenvolvimento WEB

©A.Mourão


As mensagens escritas por um utilizador de um canal são enviadas a um servidor,
que as distribui aos utilizadores desse canal ligados a

esse servidor e a outros servidores
da rede de IRC, que por sua vez as distribuem aos seus utilizadores.


Figura
5
: Funcionamento IRC

Para aceder ao IRC é necessário ter um programa cliente, que irá aceder a um
servidor de IRC. U
m dos programas mais utilizados é o mIRC.

Existem outros sistemas que permitem também a conversação
escrita
entre
utilizadores de forma semelhante
ao IRC, estes sistemas incluem os
Web

chats

e os
sistemas de mensagens

instantâneas

(ICQ,
MSN
Messenger, Gai
m).

Existem também alguns serviços que
permitem a comunicação entre pessoas através
da transmissão em directo de voz e imagem.

Ex.
Netmeeting
.


P
artilha de Ficheiros: FTP

O FTP é um protocolo de transferência de ficheiros, permitindo pesquisar ficheiros
ar
mazenados em computadores de todo o mundo e copiar aqueles que interessam.

Com o FTP não existe apenas a possibilidade de recolha (
download
) de ficheiros,
mas também o inverso, a transmissão (
upload
). Um site FTP é um lugar na Internet que
armazena ficheir
os. Estes sites são mantidos por instituições de ensino, departamentos
governamentais, empresas e particulares.

Funcionamento

O processo genérico para aceder a um determinado recurso via FTP é:

-

Estabelecer uma ligação com o servidor de FTP que armazena
o ficheiro pretendido.

Poderá ser
necessário efectuar uma autenticação

através de
username

e
password
.

-

Navegar até à directoria remota que contém o ficheiro pretendido.

-

Definir as opções de transferência.

Error! Use the Home tab to apply Título 1 to the text that you want to appear here.

-

Error! Use the Home tab to apply Título 2 to the text that you want to appear here.



Desenvolvimento WEB


21

Nomeadamente definir se se trata da transferênc
ia de um ficheiro de texto (ASCII) ou
binário (binary).

-

Seleccionar o ficheiro a transferir.

-

Navegar até à directoria no computador local para onde queremos transferir o
ficheiro.

-

Iniciar a transferência do ficheiro.

-

Encerrar a ligação com o servid
or de FTP.


Emulação de terminal: Telnet

O serviço de emulação de terminal ou
telnet

é, juntamente com o correio
electrónico, um dos mais antigos serviços da Internet. Trata
-
se de um protocolo de nível
de aplicação, que permite a um utilizador ligar
-
se a u
m computador da Internet e passar a
trabalhar nele como se o seu computador local fosse um terminal do outro. Isto permite,
obviamente, consultar informação que se encontre disponível no computador remoto,
correr programas desse computador, etc.


World Wi
de
Web
: WWW

World Wide
Web
: (WWW) ou simplesmente
Web



é um sistema composto por
uma infinidade de ficheiros e bases de dados. Aqui podemos aceder à informação que se
encontra armazenada em milhões de computadores (servidores
Web
) em todo o mundo.
Basicam
ente, WWW designa a vastidão de páginas existentes na Internet
.

Este assunto será desenvolvido em detalhe no próximo capitulo deste documento.




Error! Use the Home tab to apply Título 1 to the text that you want to appear here.

-

Error! Use the Home tab t
o apply Título 2 to the text that you want to appear here.


22

Desenvolvimento WEB

©A.Mourão


World Wide
Web
: WWW


I
NTRODUÇÃO

O conceito de páginas
Web

(a face mais visível e mais mediática da Internet)
,

como
o conhecemos hoje,
apenas foi inventado em 1993, e foi esta tecnologia utilizada na
Internet a responsável pela verdadeira explosão de número de utili
zadores, número de
computadores

e
de
redes ligadas.

Até essa altura, os utilizadores da Internet apen
as trocavam Email, descarregavam
ficheiros e utilizavam serviços baseados em texto.

Em 1990
, no CERN
-

Laboratório Europeu de Física de Partículas, na Suíça, um
cientista Inglês chamado
Tim Berners
-
Lee

inventou uma forma de disponibilizar
páginas de texto
com
'links'

onde se podia clicar para saltar para outras páginas

(texto
com ligações = HiperTexto)
.

Lee desenvolveu este método de navegação na informação porque queria ter a
possibilidade de obter mais informação sobre um dado termo ou tópico presente nu
m
texto, quando necessário.

A este sistema de distribuição de informação baseado em
hipertexto

deu
-
se o nome
de
Web

(rede),
tendo o

mundo como biblioteca
, uma vez que as “hiperligações” poderiam

ligar computadores situados em diferentes partes da Internet
, tudo de uma forma
transparente para o utilizador.

Em 1990 Robert Cailliou juntou
-
se a Berners
-
Lee e começaram a desenvolver a
Web

no CERN. Produziram o primeiro programa de navegação e o primeiro servidor
Web

(server), lançando as bases para tudo o que s
e seguiu.

Em 1992 nascem os primeiros browsers com interface gráfica
-

GUI (Erwise e
Viola) e mais alguns sites aderem à
Web
.

No inicio de1993 já há cerca de 50 sites na
Web
.

A
Comissão Europeia

aprovou o seu primeiro projecto
Web

em 1993 tendo o
CERN como

parceiro. No mesmo ano o NCSA
-

National Center for Supercomputing
Applications

(EUA)
-

lançou os programas de navegação
Mosaic
,
(primeiro navegador
gráfico)
fazendo chegar a
Web

a utilizadores quer da Apple Macintosh, do Microsoft
Windows ou de sistemas X
-
Windows.

O CERN anuncia oficialmente que liberta a WWW de qualquer pagamento de
direitos.

No final de 1993 já há cerca de 200 sites na
Web
.

Error! Use the Home tab to apply Título 1 to the text that you want to appear here.

-

Error! Use the Home tab to apply
Título 2 to the text that you want to appear here.



Desenvolvimento WEB


23

Em 1994 Marc Andreessen (autor do navegador
mosaic
) funda a Netscape com
elementos da NCSA.

O CERN é um laboratório

puramente de investigação e em 1994 o Laboratório
decidiu que era necessária uma nova sede para o trabalho da
Web
. Com o encorajamento
activo do CERN surge o
consórcio W3

(
World Wide
Web

Consortium

-

www.w3.
org
)
tendo como anfitriões o INRIA
-

Instituto N
acional para a Investigação da Ciência de
Computação e
Controle

(França), e o MIT
-

Instituto de Tecnologia de Massachusetts
(EUA)

A primeira versão do
Microsoft’s Internet Explorer

(IE)
apareceu

apenas em 1995
juntamente com o sistema operativo da Microso
ft Windows 95.

A Microsoft rapidamente conseguiu fazer com que o seu navegador/browser se fosse
um dos mais utilizados. Em apenas um ano de existência passou a ser o terceiro mais
utilizado. Até 2000 disputou a liderança de navegadores
Web

com o navegador
da
Netscape (comunicator)
. A
ctualmente (2004)
é de longe
o mais utilizado

dos
browsers

para navegar na
Web
.


Actualmente cada utilizador pode escolher um qualquer navegador de entre uma
grande variedade de oferta (mozila, ie, netscape, lynx, mosaic, opera,

konqueoror, etc).
Esta escolha depende muitas vezes só de questões de estética.

Os programas de navegação, apesar de usarem protocolos de comunicação comuns
para partilhar a informação (sobre TCP/IP), podem
interpretar e
apresentar essa mesma
informação d
e maneiras diferentes
.
Existindo então a
necessidade de haver uma entidade
controladora da forma como é passada toda essa informação:

A Organização responsável por isso é a W3C (
World Wide
Web

Consortium
),
responsável por todas as normas
Web

da actualidade
, sendo responsável pelo
aperfeiçoado da
Web

até à maturidade.

Mesmo assim, com
o tempo e o evoluir da linguagem HTML e das linguagens de scripts

(javascript, vbscript, etc) existem na www muitas páginas que só são bem visualizadas
recorrendo a um navegado
r específico.


M
ODELO
WWW

A
Word Wide
Web

baseia
-
se

num
modelo
cliente/servidor
. Isto é
, um utilizador usa
um software
específico

no seu computador (
Cliente Universal


navegador)
que lhe
permite interpretar mensagens de um outro computador que executa um
outro software
específico (
Servidor Universal


servidor
WEB
).

Para poder interpretar estas mensagens os computadores conhecem e utilizam um
conjunto de regras comuns, ou seja um protocolo de comunicação

que permite que ambos
Error! Use the Home tab to apply Tít
ulo 1 to the text that you want to appear here.

-

Error! Use the Home tab to apply Título 2 to the text that you want to appear here.


24

Desenvolvimento WEB

©A.Mourão


se liguem. O protocolo mais ut
ilizado para navegar na
Web

é o
HTTP

(
HiperText
Transport Protocol
-

Protocolo
de Aplicação
)

Existem
também
outros protocolos de comunicação capazes de ser utilizados na www.


A
Web

é uma colecção de documentos ligados electronicamente, sendo que todas
ess
es documentos (páginas) residem na internet e são escritas em HTML, Javascript,
PHP, ASP, ect (
Inter
face com o Utilizador Universal)



Figura
6
: Modelo WWW. In João Correia Lopes, FEUP, Fevereiro 2003

Esquema de Nomeação Universal

(URL)

Para aceder a uma qualquer página localizada na Internet é necessário indicar
o seu
endereço.

https://www.estgm.ipb.pt/scapad
/index.php

em que:

https

indica o protocolo de comunicação
.
Secure
Hyper Text
Transport Protocol
, O HTTP é o protocolo de
comunicação usado
para navegar na
Web

através de browsers. Cada um dos serviços
disponibilizados pela Internet tem um
ou mais
protocolo
s

de
comunicação bem definido
s
.

.pt
:

indica o domínio de top da máquina
.

estgm.ipb
: indica o
nome de
domínio

da organizaç
ão a quem
pertence esta máquina. Qualquer computador pertencente a esta
Error! Use the Home tab to apply Título 1 to

the text that you want to appear here.

-

Error! Use the Home tab to apply Título 2 to the text that you want to appear here.



Desenvolvimento WEB


25

mesma organização, e ligado à Internet, terá o seu nome terminado
por estgm.ipb.pt.

www
: indica o nome da máquina na organização estgm.ipb.pt ligada à
Internet. O
endereço

da
máquina é

então www.estgm.ipb.pt

sacpad/i
ndex.php
:
indica o recuso a ser acedido


Este método de endereçamento
designa
-
se por
URL

(
Uniform
/Universal

Resource
Locator

ou
Localizador Uniformizado/Universal de Recursos
).

Este método permite identificar e localizar qua
lquer recurso da Internet,
ou seja uma
página
Web

(em formato http://), um site FTP (em formato ftp://), um ficheiro local (em
formato file://), uma aplicação

telnet (em formato telnet://)
ou o conteúdo de um grupo
de notícias (em formato news://).

Comunic

ão Cliente/
Servidor

Então para que haja partilha de informação na Internet teremos que ter sempre pelo
menos dois computadores (um Cliente


o que faz o pedido, e um Servidor


o que está à
espera de pedidos e os é capaz de satisfaz
er
).

Quando se digita
o endereço:

http://www.fcporto.pt/info/futebol/titulos.asp

num browser
,

está
-
se a pedir ao browser para contactar a máquina de nome
www.fcporto.pt

utilizando o protocolo de comunicação
http
, e pedir
-
lhe que envie
para nós o ficheiros
titulos.asp

localizado

na directoria
info/futebol

dessa
máquina.


Como é então processada a comunicação entre o cliente e o servidor ?

-

Um servidor
Web

está a correr no endereço IP
212.55.150.193 (conhecido também
por
www.fcporto.pt) sem fazer mais nada do que à espera que alg
uém o contacte

-

No cliente,
o navegador determina o URL

digitado pelo utilizador

-

o navegador pergunta ao DNS o endereço IP de
www.fcporto.pt

-

o DNS responde
212.55.150.193

-

o navegador estabelece uma ligação TCP para a porta 80 de
212.55.150.193

-

o n
avegador envia o comando GET
info/futebol/titulos.asp

-

o servidor www.
fcporto.pt

envia o ficheiro
/

/.../

titulos.asp

-

a ligação TCP é libertada

-

o navegador m
ostra o texto de
titulos.asp

-

o navegador pede e mostra todas as imagens de
titulos.asp

Error! Use the Home tab to apply Título 1 to the text that you want to appear here.

-

Error! Use the Home tab to apply Título 2 to the text that you want to appear here.


26

Desenvolvimento WEB

©A.Mourão





H
I
PERTEXTO
,

H
IPERMÉDIA

E

M
ULTIM
É
DIA

Um texto (estes apontamentos) tem uma estrutura linear (sequencial)

e

contínuo
(lido e relido sempre da mesma forma).

Um bloco de texto é composto por sequência de letras, palavras, frases e parágrafos.

Sendo limitado na

definição de contexto e limitado na narrativa.

O termo
hipertexto

designa um
texto

com conexões múltiplas interligadas.
É não
linear (vários percursos alternativos) e dinâmico (percorrido e actualizado).

Estende as possibilidades do texto, acrescentando:
pontos sensíveis, ligações, saltos,
âncoras. Permitindo uma riqueza na representação de contexto e uma maior liberdade
narrativa.

A ideia nasceu das experiências de Douglas Englebart da Universidade de Standford
(o sistema NLS (on line system) que permite
colocar na internet a estrutura hipertextual
e
)
e
vai buscar a designação aos trabalhos de Ted Nelson, na Universidade de Brown em
1965.


Figura
7
:
Estrutura
Hiper
t
exto

O conceito
hipermédia

decorre da n
oção de hipertexto e, de algum modo, pode ser
considerado como uma evolução do primeiro.
Hipermé
dia é a fusão de hipertexto e
Multimédia. As ligações que se estabelecem em hipermédia permitem que palavras,
imagens e sons integradas em unidades de significa
ção múltipla se associem de modo
dinâmico a textos e a outros segmentos audiovisuais de molde a permitir um sistema de
navegação fluente.

Error! Use the Home tab to apply Título 1 to the text that you want to appear here.

-

Error! Use the Home tab to apply Título 2 to the text that you want to appear here.



Desenvolvimento WEB


27


Figura
8
: Documento Multimédia




Error! Use the Home tab to apply Título 1 to the text that you want to appear here.

-

Error! Use the Home
tab to apply Título 2 to the text that you want to appear here.


28

Desenvolvimento WEB

©A.Mourão


Tecnologias
WEB


Neste capitul
o vamos abordar de uma forma simples as diferentes linguagens e
tecnologias que são utilizadas para desenvolver conteúdos para navegadores
Web
.


HTML


HTML (
HyperText Markup Language
) é a linguagem mãe da
Web
, todas as
pessoas a conhecem e

entendem
,
é de f
ácil aprendizagem e todo
s na
Web

necessita
m

dela.


Desenvolvido pelo inventor da
Web

Tim Berners
-
Lee,
o
HTML rapidamente se
converteu, devido à explosão da
Web
, no formato com mais sucesso e o mais difundido
no mundo inteiro.

HTML é uma linguagem para estr
uturação de texto,
permitindo também a
integração de imagens e conteúdos multim
édia.

Com o HTML é possível criar textos simples, títulos, parágrafos de texto
, listas, tabelas,
integrar formulários, etc. Podem ser criadas referências a outras páginas na
Web

e
oferece uma interface para linguagens complementares tais como folhas de estilo (css)
ou javascript.

O HTML, por si só, não pode satisfazer todas as necessidades da
Web
, como por
exemplo os
Web

designers que gostam de controlar cada pixel no monitor, n
em os
especialistas em Base de Dados que habituados a bases de dados relacionais desejariam
que existissem soluções especificas para os seus problemas. Por estas razões hoje em dia
existem linguagens de estilo (css) e soluções como XML, que permitem o dese
nho de
dados em aplicações
específicas
.

Apesar disto o HTML é a linguagem da
Web

por excelência. O Consorcio W3C,
que é o responsável pela criação de standards de HTML, tem feito um grande esforço
para corrigir os erros dos primeiros standards de HTML e cr
iar uma linguagem pura de
estruturação de texto.

HTML como Linguagem de anotação/marcação

HTML significa
HyperText Markup Language
.
Trata
-
se
de uma linguagem de
Especialização para hipertexto de SGML (
Standard Generalized Markup Language
).
SGML está
defini
do como
norma ISO 8879.

Actualmente existe uma evolução de HTML chamada XHTML.
XHTML
é uma
redefinição de HTML com ajudas de XML. XML tem funções semelhantes a SGML.

Error! Use the Home tab to apply Título 1 to the text that you want to appear here.

-

Error! Use the Home tab to a
pply Título 2 to the text that you want to appear here.



Desenvolvimento WEB


29


HTML
é chamada uma linguagem de anotação (
Markup Language
).
Tem
por
função descrever os
componentes lógicos de um documento. Como linguagem de
anotação, permite marcar elementos típicos de um documento, ex: títulos, parágrafos,
listas, tabelas ou referências a imagens.


O esquema de marcação HTML se baseia numa estrutura hierárquica. HTML
ass
inala o conteúdo dos documentos. Os documentos possuem propriedades globais (tais
como <HEAD>, <TITLE>)
. O conteúdo propriamente dito do texto é divido em
elementos, tais como cabeçalhos (<H1>), parágrafos de texto (<P>
)
, tabelas (<TABLE>)
ou imagens (<IMG
>)

Alguns d
estes elementos podem possuir sub
-
e
lementos. Por exemplo numa tabela temos
ainda os sub elementos linha (<TR>) e coluna/célula (<TD>).


Geralmente a marcação de um elemento implica a indicação do seu inicio e do seu
fim.
Ex.
<TITLE>titulo da pág
ina </TITLE>


Os navegadores que podem visualizar documentos HTML interpretam as anotações
no documento fonte e apresentam o seu conteúdo formatado de acordo com essas
anotações
.

Os navegadores lêem e reformatam o documento para janelas de tamanhos diverso
s e
em écrans de resolução diversa
.

HTML para H
ipertexto
/Hipermédia


Uma das principais qualidades do HTML é a possibilidade de definir ligações
dentro dos documentos.

As ligações (hiperligações) podem ser de outros pontos dentro do mesmo
documento, de o
utros documentos dentro do mesmo servidor ou de outros lugares da
WEB
.

Versões de HTML

HTML 1.0: Standard da linguagem de anotação. Contém marcações para elementos
simples, tais como títulos, parágrafos, referências gráficas e hiperligações.


HTML 2.0
Cria
do em Novembro de 1995 e tornou
-
se o standard da linguagem para
vários navegadores
Web
.

HTML 3.2
Aparece em 1996, trazendo como principais novidades a inclusão na
linguagem HTML das tabelas e formulários.

HTML
4.x
-

A versão HTML 4.0 aparece em Fevereiro d
e 1998. Esta versão sofreu
algumas revisões e actualmente existe a versão HTML 4.01
. Esta versão regula a
integração de folhas de estilo e das linguagens de script (como o javascript) em HTML.

Error! Use the Home tab to appl
y Título 1 to the text that you want to appear here.

-

Error! Use the Home tab to apply Título 2 to the text that you want to appear here.


30

Desenvolvimento WEB

©A.Mourão




Actualmente o HTML tem vindo a ser revisto para tomar o aspec
to do XHTML.
Por essa razão existem de momento o HTML clássico, baseado em SGML e o HTML
baseado em XML, ou seja o XHTML.

Este último é também conhecido simplesmente como HTML, mas por causa das
ligações com o XML, tem algumas diferenças em relação ao HTM
L clássico.


As especificações para
cada uma das diferentes versões de HTML

(4.01)

e XHTML


(1.1

e 2.0
)
encontram
-
s
e descritas nas páginas do consó
rcio w3c (www.w3.org)


F
OLHAS DE
E
STILO
(
C
ASCADING
S
TYLE
S
HEETS
:

CSS
)

HTML (como um derivado do SGML) foi in
icialmente

concebido para ser uma
linguagem de anotação (markup)

orientada ao conteúdo, permitindo definir as estruturas
básicas de uma página
WEB
: elementos, referências, imagens, multimédia, etc.

O HTML não foi criado para especificar exactamente qual o

aspecto que um determinado
elemento deverá ter na janela do navegador.

Podemos definir um titulo/cabeçalho e dizer
-
lhe que seja de nível 1

(<H1>)
. No entanto
não é possível (em HTML)
determinar o tamanho e qual a fonte utilizada para a
apresentação desse

titulo. Este trabalho é feito pelo navegador que utiliza uma série de
ajustes definidos pelo utilizador.

Apesar de não ser essa a intenção inicial do HTML, existem em HTML várias
tags

que controlam o estilo e a formatação da informação a apresentar.

O SGM
L estava destinado a ser um método que suportasse a semântica do documento
separando forma e estrutura e que fosse ao mesmo tempo independente do hardware de
saída.

O problema desta abordagem é que algumas tags deixaram se ser standards e só
funcionam
em a
lguns
navegadores.

Uma das razões para o aparecimento dos CSS foi
então o
parar com o

aparecimento
de novas tags de formatação física no HTML e

uma vez mais separar forma e conteúdo
de um documento.


As folhas de estilo são uma linguagem complementar desen
volvida para HTML. O
uso de CSS permite que a formatação de alguns elementos do documento seja definida
pela própria página e não pelo navegador. Ex. é possível dizer que os texto de títulos de
de nível 1 sejam em fonte
Times
, tenham 24p de tamanho, sejam

de cor azul, tenham
espaçamento duplo, etc.


As CSS são tais como o HTML uma linguagem de formatação de texto. Tal como o
HTML o seu standard é definido pelo
Web

consortium (W3C).


Error! Use the Home tab to apply Título

1 to the text that you want to appear here.

-

Error! Use the Home tab to apply Título 2 to the text that you want to appear here.



Desenvolvimento WEB


31

Versões de CSS

O procedimento de
standarização

de CSS segue as mesmas regr
as que o HTML


CSS 1.0: surge pela 1ª vez em 1996 (versão de recomendação), sendo mais tarde revista e
publicada
na sua versão final em 999
.

CSS 2.
x
: surge
em 1998

(como versão de recomendação)
, não tendo ainda sido
implementada em todos os navegadores.
O
WEB

Consortium W3C está a trabalhar
numa
revisão desta
versão.

CSS 3.0: Esta em desenvolvimento pelo
WEB

Consortium W3C


As especificações para cada uma das diferentes versões de
CSS en
contram
-
se
descritas nas páginas do consorcio w3c (www.w3.org)


XML

(
E
X
TENSIBLE
M
ARKUP
L
ANGUAGE
)

Os documentos são criados com o objectivo de registar informação de modo a ser
possível comunicá
-
la ou partilha
-
la.

O HTML é uma linguagem
baseada em

SGML e que contém muitos elementos
predefinidos. Contém os elementos importante
s que a maioria das pessoas necessita, mas
mesmo assim ainda ficam alguns “desejos” por realizar. Existem muitos textos que têm
uma estrutura de dados própria
em que
o HTML não chega para os definir.

É o caso dos emails em que existem dados bem definidos t
ais como cabeçalho,
remetente, destinatário, assunto, etc. É sempre possível colocar estes dados numa pagina
Web

recorrendo a
parágrafos de texto normais, mas o ideal seria a possibilidade de
definir elementos de marcação tais como remetente, destinatário,

etc. Apenas desta
forma seria claramente possível conservar a estrutura semântica do e
-
mail.

XML é definida com base em SGML (o
pai

de todas as linguagens de anotação)
.

O XML
não é um competidor do HTML, mas sim do SGML, pois com o XML é possível
“inventa
r” novas linguagens. O XML existe para definir linguagens de anotação.

Uma linguagem de anotação segue determinadas convenções básicas. Os componentes
de uma linguagem de anotação devem ser definidos segundo um esquema pré
-
definido.

XML é então um formato
standard para descrever e trocar dados estruturados.

É extensível permitindo
adicionar novos

elementos e atributos.


O XML permite a definição de elementos, mas não permite especificar como um
determinado navegador vai apresentar essa informação.

Para este

efeito foi criada uma
linguagem de estilo complementar do XML. Essa linguagem é denominada de
XSL

(
Extensible Stylesheet Language


linguagem de estilo extensível
).

XSL
é muito mais poderoso que o CSS. Para além de todas as características existentes
no
s CSS (formatação de tamanhos, fontes, distâncias, etc), o XLS
realiza
também uma
Error! Use the Home tab to apply Título 1 to the text that you want to appear here.

-

Error! Use the Home tab to apply Título 2 to the text that you want to appear here.


32

Desenvolvimento WEB

©A.Mourão


série de outras funções complementares da apresentação de texto, tais como a ordenação
de informação em forma de listas, numeração automática, etc.

Documentos em XML são entã
o separados em 3 partes:

Estrutura
:
XML

Estilo
:
XSL (eXtensible Style Language)

Conteúdo
:
definido pelo utilizador


O uso directo de XML para o desenho de página
WEB

não é talvez o mais
aconselhado, uma vez que o uso de HTML e CCS são mais do que sufici
entes para a
criação de páginas
Web

e a sua apresentação em janelas dos navegadores.

No entanto no campo profissional e em muitos casos existem situações onde o uso
de XML é necessário. Nomeadamente, em todos as situações onde existem estruturas de
dados
especificas e onde se deseja manter essa estrutura para além da apresentação dela
em janelas.

Na prática a utilização de XML serve para guardar os dados livres de toda e qualquer
interface de apresentação. Para a apresentação em páginas
Web
, os dados são t
raduzidos
no servidor com a ajuda de scripts de apresentação (ou mesmo com XSLT)

Derivados de XML

As linguagens de anotação definidas a partir de XML são também conhecidas por
Derivados de XML.

Para além das linguagens de anotação, baseadas em XML, que po
ssamos definir
para nós próprios, existem também linguagens baseadas em XML para uso geral. O
consortium

W3C oferece algumas dessas linguagens para quem as quiser utilizar.
Tratam
-
se de linguagens com funções muito diferentes.

Ex. A utilização de SVG permi
te criar gráficos vectoriais de forma simples.
O MathML
define anotações para
fórmulas

matemáticas e científicas.

Quando se fala de
XML,
não se fala apenas de um núcleo de XLM, mas sim toda
uma família de linguagens baseadas em XML, ou seja, os Derivados d
e XML.

Versões de XML


Da mesma forma que o HTML e o CSS, o standard de XML é definido pelo
Web

Consortium (W3C).

A documentação oficial de XML descreve as regras
que deverão ser
seguidas
das linguagens de anotação

baseadas em XML.

Recomendação para XML 1.
0: publicada em 1998.

As especificações para cada uma das diferentes versões de
XML e derivados
en
contram
-
se descritas nas páginas do
consórcio

w3c (www.w3.org)

Error! Use the Home tab to apply Título 1 to the text that you want to appear here.

-

Error! Use the Home tab to apply Título 2 to the text that you want to appear here.



Desenvolvimento WEB


33


CGI

E
PERL

Logo com o aparecer da
WEB

e
com o evoluir da
s necessidades dos seus
utilizadores,
surgiu a necessidade de criar
sistemas

para
permitir acesso
à informação
guardada no
s servidores que não fosse meramente estático, ou seja, permitir que o
conteúdo fosse de alguma forma dinâmico e interagisse com o utilizador.

O HTML e os CSS por si só, a
penas permitem a apresentação de informação estática
contida num documento físico localizado no servidor o qual é integralmente transferido
para o cliente quando solicitado.

É neste âmbito que surge o CGI (
Common Gateway Interface
). Este sistema
permite

o
acesso a informação
guardada no
servidor, baseado em parâm
etros fornecidos
pelos clientes.


Figura
9
: Funcionamento via CGI

Desta forma, qualquer programa pode criar páginas WWW, desde que
respeite a sintaxe do HTML e
a i
nterface
CGI
.

O único requisito é que esse CGI tenha sido compilado para o Sistema Operativo onde
corre o servidor www. Em linux serão programas criados em C
/C++, TCL,
Bourne
Shell
, etc.

e compilados para
máquinas

linux/unix
. P
ara servidores windows serão
programas

.EXE gerados por compiladores de C
/C++
, PASCAL, Visual Basic, etc.

Error! Use the Home tab to apply Título 1 to the text that you want to appear here.

-

Error! Use the Home tab to apply Título 2 to the text that y
ou want to appear here.


34

Desenvolvimento WEB

©A.Mourão


Especificaç
ão

CGI

O CGI f
oi desenvolvido originalmente para servidores WWW CERN e NCSA, para
a plataforma UNIX.


A versão actual do CGI é a CGI/1.1 a qual pode ser consultada a partir da s
eguinte
página
WEB
:
http://hoohoo.ncsa.uiuc.edu/cgi/

Nesta especificaç
ão

são definidas as formas como
se passam dados para o CGI
(variáveis de ambiente e entrada padrão):


-

Variáveis de ambiente

Sempre qu
e um CGI se executa tem à sua disposição um conjunto pré
-
definido de
variáveis de ambiente. Algumas destas variáveis são apresentadas na tabela seguinte:

SERVER_SOFTWARE


tipo do servidor
WEB

e a sua versão.

SERVER_NAME



Nome do servidor

REQUEST_METHOD


M
étodo utilizado de acesso ao CGI (GET,POST)

QUERY_STRING



Argumentos quando é utilizado o método GET

REMOTE_HOST



Nome da máquina que efectuou o pedido

REMOTE_ADDR



Endereço da máquina que efectuou o pedido


-

Entrada padrão (
stdin
, na nomenclatura Unix
)


Outro método de transmissão de informação para o CGI é através da entrada padrão
do CGI.

Para tal a variável de ambiente REQUEST_METHOD deverá ter valor POST.

Este método não está assim limitado à

capacidade máxima das variáveis de ambiente do
sistema
o
perativo
hospedeiro

do servidor www.

As especificações do CGI
também definem a forma como o CGI deverá responder.
A resposta do CGI é um componente
WEB
, nomeadamente uma página HTML,

uma
imagem, ou um link. Assim sendo existe a necessidade de indicar qual
o tipo de

resposta
que vai ser enviada.

O

header

da resposta do CGI, deve indicar o tipo

de dados que vai ser enviado,
quando a resposta é uma imagem deve indicar a dimensão

em bytes da imagem, deve
indicar se o documento gerado tem ou não data de expiraç
ão,

se o documento pode ou
não ficar em
cache

no cliente, ou o documento é um documento

criado dinamicamente
ou se é um

documento que já existe.

n
a seguinte tabela apresentam
-
se os vários tipo possíveis que podem

constituir o
header de um CGI

Error! Use the Home tab to apply Título 1 to the text that you want to appear here.

-

Error! Use the Home tab to apply Título 2 to the text that you want
to appear here.



Desenvolvimento WEB


35

-

Content
-
len
gth
:

Dimensão em bytes da stream de output,esta implícito que a
resposta é binária

(content
-
length: 1567)

-

Content
-
type

O tipo MIME
(
Multipurpose Internet Mail Extensions
)
da resposta
(
Content
-
type:
text/html
,
Content
-
type:
text/plain
, Content
-
type: image
/jpeg
)

A ordem pela qual os elementos do CGI são indicados não importa, o único factor

que importa é que a separar o header do CGI da resposta do CGI tem

de existir

obrigatoriamente uma linha em branco.

A aplicação CGI produz o seu resultado para o seu sta
ndard output, sendo da

responsabilidade do servidor
WEB

garantir que o standard output do CGI est
eja
direccionado de algum modo para o cliente.

O resto da resposta do CGI ou é uma página
WEB

que contém a resposta, ou é

uma
imagem.

Quando é uma página
WEB

é da responsabilidade do CGI construir uma

página
WEB

que respeite a linguagem

HTML.


PERL
(Practical Extraction and Report Language)

A linguagem PERL (Practical Extraction and Report Language) é uma

linguagem
interpretada
, desenvolvida por Larry Wall.
Tra
ta
-
se de uma linguagem que possui
funções muito eficientes para manipulação de textos, o que a torna muito popular para
programação de formulários WWW, além de ser muito utilizada em tarefas
administrativas de sistemas UNIX, onde a linguagem nasceu e cresc
eu.

Esta linguagem permite a criação de programas em ambientes UNIX, MSDOS,
Windows, Macintosh, OS/2, e em outros sistemas operacionais.

É a linguagem mais usada para criar scripts CGI e scripts de configuração em
Linux
.


A linguagem PERL é amplamente uti
lizada por ser rápida, eficiente e de fácil
manutenção na programação de uma ampla faixa de tarefas, particularmente aquelas que
envolvem manipulação de arquivos de texto.

Apesar de ser o
p
timizada para texto, o PERL pode lidar também com dados binários


I
nterpretada ou compilada

Muitos questionam se os programas em PERL são compilados ou interpretados. De
facto, a PERL é um pouco especial a esse respeito, podendo
-
se dizer informalmente que
“existe um compilador que pensa ser um interpretador”. Existe uma f
ase de optimização
em que o código do programa é compilado e transformado em código executável para
que a linguagem seja realmente eficiente.

Esse código não é gravado num arquivo
Error! Use the Home tab to apply Título 1 to the text that you want to
appear here.

-

Error! Use the Home tab to apply Título 2 to the text that you want to appear here.


36

Desenvolvimento WEB

©A.Mourão


executável separado. Ao invés disso o código executável apenas é copiado par
a memória,
sendo depois utilizado. Isso significa que a PERL combina o ciclo de desenvolvimento
rápido de uma linguagem interpretada com a execução eficiente de um código compilado.
Essa necessidade de se compilar o código cada vez que o programa é executa
do é uma
desvantagem, mas quando existem desenvolvime
ntos os códigos
-
fonte são distri
buídos

pelos os utilizadores.

De qualquer maneira, a fase de compilação é muito rápida, sendo
possível que nem se note uma demora entre a activação do Script PERL e o iníc
io da
execução.

O problema com os scripts anteriores (qualquer executável CGI ou PERL) é que é o
próprio CGI que deverá formatar a sa
ída, de início a fim,
por forma a que este respeite a
sintaxe do HTML, devido a este problema surgiram as
linguagens de scr
ipt server
-
side
HTML
-
embedded

(linguagens de script embebidas no código HTML) tais como o PHP
e o ASP.


PHP

-

H
YPERTEXT
P
REPROCESSOR

PHP (Hypertext P
reprocessor
) é uma linguagem de Script de servidor
(muito
parecida ao C)
que permite criar sites dinâmicos,

é feita em especial para
desenvolvimentos na
Web

e pode ser embebida em HTML ou seja o código PHP é
embutido dentro do código fonte de uma página HTML e é executado no servidor, sendo
enviado para o cliente apenas HTML puro.

O código PHP é guardado no mes
mo ficheiro que o resto do HTML.
Ao ser chamado
por um qualquer navegador cliente o servidor reconhece que esse ficheiro não é apenas
um ficheiro com HTML simples, mas sim um ficheiro HTML com partes em php
(através de
tags

de início e fim). Ao detectar is
to envia
-
o para um interpretador de
código php (localizado nesse servidor) o qual irá gerar algum código HTML que
juntamente com o resto do ficheiro HTML será enviado para o cliente.

A linguagem PHP vem
-
se consolidando como uma alternativa robusta, ágil e
barata
(
É

GRATUITA
) para semelhantes como ColdFusion e ASP.

Uma das grandes vantagens desta linguagem é possuir
funções para aceder a todas
as bases de dados que existentes no mercado

(dBase, My
SQL, Oracle,
etc.)
.

É extremamente simples o seu uso para no
vos utilizadores:

-

Oferece muitas vantagens para programadores experientes

-

Permite fazer tudo o que faz o CGI e ainda mais
.


O código PHP é delimitado por
tags

iniciais e finais que lhe permite sair e entrar no PHP.

<? código PHP ?> ou <?php código PH
P ?>

O PHP tem a vantagem de ter aparecido mais tarde que o PERL permitindo aos seus
criadores incluir o que havia de bom no PERL e tirar o que não queriam. PHP em
Error! Use the Home tab to apply Título 1 to the text that you want to appear h
ere.

-

Error! Use the Home tab to apply Título 2 to the text that you want to appear here.



Desenvolvimento WEB


37

contraste torna algumas das coisas que o Perl torna fáceis ainda mais fáceis e consegue
aind
a realizar as difíceis.

Versões de PHP

Concebido em 1994 por Rasmus Lerdorf
, a primeira versão teve o seu aparecimento
em 1995,

tendo nessa altura ficado baptizada de

P
ersonal
H
ome
P
age Tools
”.

Desde essa altura que o php tem vindo a evoluir a uma
veloci
dade incrível,
encontrando
-
se em 2004 na versão 4.5


Toda a informação sobre o php e as mais recentes versões podem ser obtidas no site
www.php.net
.


ASP



A
CTIVE
S
ERVER
P
AGES

ASP significa
Active Server Pages

e represe
nta
m,

tal como o PHP
,

uma forma
alternativa
aos

CGI
s
/Perl.

Active Server Pages

é uma tecnologia
Servidor (
server side scripting
)
muito
parecido ao Visual Basic

(
VBScript
).

É uma tecnologia proprietária Microsoft, oferecida nos servidores IIS (
Internet
Info
rmation Server
) versões 3.0 e posteriores dos sistemas operativos Windows NT,

2000,

XP pelo PWS (
Personal
Web

Server
) dos Windows 98SE e ME.

Também existem ASP para linux e outros sistemas operativos baseados em unix, no
entanto a integração de ASP está op
timizada para servidores
Web

da Microsoft e por
essa razão é muito mais utilizada em servidores que corram Windows.


Error! Use the Home tab to apply Título 1 to the text that you want to appear here.

-

Error! Use the Home tab to apply Título 2 to the text that you want to appear here.


38

Desenvolvimento WEB

©A.Mourão




Figura
10
:
Processamento de um pedido ASP


O principio de funcionamento é o mesmo do PHP. O código ASP é
embutid
o no
código HTML e
guardado
no mesmo ficheiro
. Através das
tags

de inicio e fim o servidor
reconhece que aquele determinado ficheiro contém código ASP, o interpretador integrado