Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Historia AplicacionesWeb
Historia AplicacionesWeb
Prefacio
Internet y la Web han inuido enormemente tanto en el mundo de la informtica
como en la sociedad en general. Si nos centramos en la Web, en poco menos de 10
aos ha transformado los sistemas informticos: ha roto las barreras fsicas (debido a
la distancia), econmicas y lgicas (debido al empleo de distintos sistemas operativos,
protocolos, etc.) y ha abierto todo un abanico de nuevas posibilidades. Una de las reas
que ms expansin est teniendo en la Web en los ltimos aos son las aplicaciones
web.
Las aplicaciones web permiten la generacin automtica de contenido, la creacin
de pginas personalizadas segn el perl del usuario o el desarrollo del comercio electrnico. Adems, una aplicacin web permite interactuar con los sistemas informticos de gestin de una empresa, como puede ser gestin de clientes, contabilidad o
inventario, a travs de una pgina web.
Las aplicaciones web se encuadran dentro de las arquitecturas cliente/servidor: un
ordenador solicita servicios (el cliente) y otro est a la espera de recibir solicitudes
y las responde (el servidor). En este libro se aborda la programacin de la parte
cliente de las aplicaciones web. Existen multitud de tecnologas que se pueden emplear
para programar las aplicaciones web, como ActiveX o applets, pero no estn tan
estandarizadas como las dos que se muestran en este libro: HTML y JavaScript.
Este libro se complementa con otro de prxima aparicin que tratar la programacin de aplicaciones web desde el punto de vista del servidor. En l se mostrarn
las tecnologas que se emplean para programar los servidores web: CGI, ASP, JSP,
PHP, etc.
Este libro posee diez captulos y tres apndices que denen tres partes. La primera
parte, formada por los cinco primeros captulos, aborda una serie de temas tericos
como son la historia de Internet y la Web, las arquitecturas cliente/servidor en general,
las aplicaciones web como caso particular de las arquitecturas cliente/servidor y la
estructura (fsica y lgica) de un sitio web.
En la segunda parte, formada por los cinco ltimos captulos, se tratan una serie
de temas ms prcticos: el lenguaje HTML, una gua de estilo con consejos que
ayudan a evitar los errores ms comunes a la hora de crear pginas web, los lenguajes
de script en general y un lenguaje de script concreto: JavaScript. Esta segunda parte
iii
Prefacio
iv
naliza con el modelo de objetos de documento, que permite acceder a los elementos
de una pgina web desde un lenguaje de script.
La ltima parte del libro est formada por tres apndices donde se resumen las
etiquetas de HTML y se explica cmo trabajar con los colores en HTML y cmo
depurar errores de JavaScript.
El libro adems posee una serie de ndices (general, de guras, de acrnimos, etc.)
que facilitan la lectura y la bsqueda de informacin.
Para nalizar, quisiera mandar un abrazo a mi familia y a Marisa, la gente que
quiero y que me apoya en mi trabajo. Tambin me gustara agradecer a mi compaero
Jaume Aragons del Departamento de Lenguajes y Sistemas Informticos de la Universidad de Alicante la labor que ha realizado de revisin de este libro y sus valiosos
comentarios que me han permitido mejorar algunos aspectos confusos.
ndice resumido
Prefacio
iii
ndice resumido
ndice general
vii
ndice de cuadros
xiii
ndice de guras
xv
ndice de acrnimos
xxi
1. Introduccin
2. Historia de Internet
3. Arquitecturas cliente/servidor
39
47
61
6. HTML
91
7. Gua de estilo
167
8. Lenguajes de script
175
9. JavaScript
181
239
271
v
vi
ndice resumido
B. Colores en HTML
289
299
Bibliografa recomendada
313
ndice alfabtico
315
ndice general
Prefacio
iii
ndice resumido
ndice general
vii
ndice de cuadros
xiii
ndice de guras
xv
ndice de acrnimos
xxi
1. Introduccin
1.1.
Introduccin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.2.
1.3.
Convenciones tipogrcas
. . . . . . . . . . . . . . . . . . . . . . . . .
2. Historia de Internet
2.1.
Historia de Internet
5
. . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.1.1.
2.1.2.
El primer Internet
. . . . . . . . . . . . . . . . . . . . . . . .
2.1.3.
Protocolos de Internet . . . . . . . . . . . . . . . . . . . . . . .
14
2.2.
Historia de la Web
2.3.
25
2.3.1.
Primera generacin . . . . . . . . . . . . . . . . . . . . . . . . .
25
2.3.2.
Segunda generacin
28
2.2.1.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . .
15
El primer navegador . . . . . . . . . . . . . . . . . . . . . . . .
22
. . . . . . . . . . . . . . . . . . . . . . . .
2.3.3.
Tercera generacin . . . . . . . . . . . . . . . . . . . . . . . . .
29
2.3.4.
Cuarta generacin
34
. . . . . . . . . . . . . . . . . . . . . . . . .
vii
ndice general
viii
3. Arquitecturas cliente/servidor
39
3.1.
Introduccin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
39
3.2.
Separacin de funciones
40
3.3.
. . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . .
42
Presentacin distribuida . . . . . . . . . . . . . . . . . . . . . .
42
3.3.2.
Aplicacin distribuida
3.3.3.
Datos distribuidos
. . . . . . . . . . . . . . . . . . . . . . .
43
. . . . . . . . . . . . . . . . . . . . . . . . .
43
3.4.
. . . . . . . . . . . . . . . . . . . .
44
3.5.
44
47
Introduccin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.1.1.
El cliente
4.1.2.
El servidor
48
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
48
. . . . . . . . . . . . . . . . . . . . . . . . . . . . .
49
4.2.
4.3.
Entornos web . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . .
52
4.3.1.
52
Internet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
51
4.3.2.
Intranet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
53
4.3.3.
Extranet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
53
4.4.
Ventajas y desventajas . . . . . . . . . . . . . . . . . . . . . . . . . . .
53
4.5.
54
4.6.
59
. . . . . . . . . . . . . . . . .
61
5.1.
Qu es un sitio web . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
62
5.2.
63
5.3.
Estructura fsica
5.4.
5.5.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5.3.1.
5.3.2.
Enlaces
64
. . . . . . . . . . .
66
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
69
Estructura lgica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
70
5.4.1.
71
Estructura secuencial
. . . . . . . . . . . . . . . . . . . . . . .
5.4.2.
Estructura en rejilla
. . . . . . . . . . . . . . . . . . . . . . . .
72
5.4.3.
Estructura en rbol
. . . . . . . . . . . . . . . . . . . . . . . .
76
5.4.4.
Estructura en red . . . . . . . . . . . . . . . . . . . . . . . . . .
76
5.4.5.
Estructura mixta . . . . . . . . . . . . . . . . . . . . . . . . . .
81
5.4.6.
Comparativa
. . . . . . . . . . . . . . . . . . . . . . . . . . . .
81
5.4.7.
82
Gua de estilo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
89
ndice general
ix
6. HTML
91
6.1.
Introduccin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
93
6.2.
Evolucin de HTML
93
6.3.
6.4.
6.5.
. . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . .
94
96
97
6.5.1.
. . . . . . . . . . . . . . . . . . . . .
98
6.5.2.
100
6.6.
Metadatos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
101
6.7.
Etiquetas HTML . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
103
6.8.
6.9.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Encabezados de secciones
. . . . . . . . . . . . . . . . . . . . .
105
105
6.8.2.
Formatos de caracteres . . . . . . . . . . . . . . . . . . . . . . .
106
6.8.3.
La etiqueta <FONT> . . . . . . . . . . . . . . . . . . . . . . .
108
6.8.4.
111
6.8.5.
Lneas horizontales . . . . . . . . . . . . . . . . . . . . . . . . .
114
Listas
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
115
6.9.1.
Listas de denicin . . . . . . . . . . . . . . . . . . . . . . . . .
115
6.9.2.
Listas ordenadas
6.9.3.
Listas no ordenadas
6.10. Colores
. . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . .
118
119
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
121
121
122
6.11. Enlaces
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
122
. . . . . . . . . . . .
122
. . . . . . . . . . . . . . . . . . . . .
123
. . . . . . . . . . . . . .
125
. . . . . . . . . . . . . . . . . .
127
6.12. Tablas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
129
132
. . . . . . . . . . . . . . . . . . . . . . . . . .
134
134
. . . . . . . . . . . . . . . . . . . . . . .
136
. . . . . . . . . . . . . . . . . . . . . . . .
138
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
140
141
143
145
. . . . . . . . . . . . . . . . . . . . . . . . . . .
147
150
. . . . . . . . . . . . . . .
6.14. Formularios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6.14.1. Controles de un formulario
. . . . . . . . . . . . . . . . . . . .
150
151
ndice general
153
153
. . . . . . . . . . . . . . . . . . . . . . . .
155
155
. . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . .
156
157
6.15. Marcos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6.15.1. Nombres de destinos especiales
. . . . . . . . . . . . . . . . . .
160
163
165
un enlace
165
7. Gua de estilo
7.1.
167
Gua de estilo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
168
7.1.1.
168
7.1.2.
. . . . . . . . . . . . . . . . . . . . . .
168
7.1.3.
168
7.1.4.
169
7.1.5.
169
7.1.6.
169
7.1.7.
170
7.1.8.
7.1.9.
7.2.
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . .
170
170
. . . . . . . . . . . . . . . . . . . . . . .
171
171
171
171
171
Accesibilidad
. . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
172
7.2.1.
173
7.2.2.
174
. . . . . . . . . . . . . . . .
8. Lenguajes de script
175
8.1.
Introduccin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
175
8.2.
. . . . . . . . . . . . . . . . .
176
8.3.
Para qu sirven . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
176
8.4.
177
9. JavaScript
9.1.
181
Introduccin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
182
9.1.1.
183
Aplicaciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
9.1.2.
. . . . . . . . . . .
184
9.1.3.
JavaScript y Java . . . . . . . . . . . . . . . . . . . . . . . . . .
184
ndice general
9.2.
9.1.4.
Versiones
9.1.5.
JavaScript y ECMA
9.4.
9.5.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . .
9.1.6.
JScript
9.1.7.
El lenguaje
9.2.1.
9.3.
xi
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . .
184
187
187
187
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
189
Caractersticas bsicas . . . . . . . . . . . . . . . . . . . . . . .
189
9.2.2.
Comentarios
. . . . . . . . . . . . . . . . . . . . . . . . . . . .
191
9.2.3.
Declaracin de variables . . . . . . . . . . . . . . . . . . . . . .
191
9.2.4.
. . . . . . . . . . . . . . . . . . . . . .
193
9.2.5.
Caracteres especiales . . . . . . . . . . . . . . . . . . . . . . . .
194
9.2.6.
Operadores
9.2.7.
Palabras reservadas
. . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . .
195
197
Sentencias . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
197
9.3.1.
197
Condicionales . . . . . . . . . . . . . . . . . . . . . . . . . . . .
9.3.2.
De repeticin . . . . . . . . . . . . . . . . . . . . . . . . . . . .
200
9.3.3.
De manipulacin de objetos . . . . . . . . . . . . . . . . . . . .
205
Funciones
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
208
9.4.1.
. . . . . . . . . . . . . . . . . . . . .
208
9.4.2.
Funciones predenidas . . . . . . . . . . . . . . . . . . . . . . .
209
Objetos
9.5.1.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Creacin de objetos
. . . . . . . . . . . . . . . . . . . . . . . .
213
213
9.5.2.
Mtodos de un objeto
. . . . . . . . . . . . . . . . . . . . . . .
215
9.5.3.
Eliminacin de objetos . . . . . . . . . . . . . . . . . . . . . . .
216
9.6.
Tratamiento de cadenas
. . . . . . . . . . . . . . . . . . . . . . . . . .
216
9.7.
Operaciones matemticas
. . . . . . . . . . . . . . . . . . . . . . . . .
222
9.8.
Validacin de formularios
. . . . . . . . . . . . . . . . . . . . . . . . .
226
226
9.8.1.
9.8.2.
Validacin alfabtica . . . . . . . . . . . . . . . . . . . . . . . .
228
9.8.3.
Validacin numrica
231
9.8.4.
. . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . .
239
10.1. Introduccin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
10.2. Modelo de objetos en Netscape Communicator
235
239
. . . . . . . . . . . . .
240
242
. . . . . . . . .
248
. . . . . . . . . . . . . . . . . . . . . . . . . . .
255
256
257
259
262
270
ndice general
xii
271
A.1. Introduccin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
272
. . . . . . . . . . .
273
273
274
. . . . . . . . . . . . . . . . . . . . . . . . . . . . .
275
275
. . . . . . . . . . . . . . . . . . . . . . .
276
277
278
A.10.Etiquetas de formularios . . . . . . . . . . . . . . . . . . . . . . . . . .
279
A.11.Etiquetas de marcos
282
. . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . .
283
A.13.Etiquetas de script . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
284
. . . . . . . . . . . . . . . . . . . . . .
285
. . . . . . . . . . . . . . . . . . . . . . .
286
A.16.Atributos universales . . . . . . . . . . . . . . . . . . . . . . . . . . . .
287
B. Colores en HTML
289
. . . . . . . . . . . . . . . .
289
290
. . . .
290
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
294
. . . . . . . . . . . . . . . . . . . . . . . . . . . . .
294
296
299
C.1. Introduccin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
299
300
. . . . . . . . . . . . . . . . . . . . .
300
302
304
. . . . . . . . . . . . . . . . . .
305
. . . . . . . . . . . . . . . . . . . . . . . .
308
Bibliografa recomendada
313
ndice alfabtico
315
ndice de cuadros
2.1.
. . . . . . . . . . . . . . . . . . .
6.1.
Versiones de HTML
6.2.
. . . . . . . . . . . .
101
6.3.
Caracteres especiales . . . . . . . . . . . . . . . . . . . . . . . . . . . .
101
6.4.
141
9.1.
. . . . . . . . . . . . . . . . . . . . . . . . . .
185
9.2.
185
9.3.
188
9.4.
188
9.5.
Caracteres especiales . . . . . . . . . . . . . . . . . . . . . . . . . . . .
195
9.6.
196
9.7.
197
9.8.
. . . . . . . . . . . . . . . . . . . . . . .
223
290
294
. . . . . . . . . . . . . . . . . . . . . . . . . . . .
xiii
. . . . . . . . . . . . . . . . . .
15
94
ndice de guras
2.1.
. . . . . . . . . . . . . . . . .
10
2.2.
11
2.3.
12
2.4.
. . . . . . . . . . . . . .
13
2.5.
16
2.6.
18
2.7.
19
2.8.
20
2.9.
20
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . .
22
. . . .
23
. . . .
24
. . . . . . . . . . . .
26
. . . . . . . . . . . .
27
. . . . . . . . . . . .
29
. . . . . . . . . . . .
30
32
33
35
36
37
3.1.
Escalabilidad horizontal
. . . . . . . . . . . . . . . . . . . . . . . . . .
41
3.2.
Escalabilidad vertical . . . . . . . . . . . . . . . . . . . . . . . . . . . .
41
3.3.
Separacin de funciones
. . . . . . . . . . . . . . . . . . . . . . . . . .
42
3.4.
Presentacin distribuida . . . . . . . . . . . . . . . . . . . . . . . . . .
43
3.5.
Aplicacin distribuida
. . . . . . . . . . . . . . . . . . . . . . . . . . .
43
3.6.
Datos distribuidos
. . . . . . . . . . . . . . . . . . . . . . . . . . . . .
43
xv
ndice de guras
xvi
3.7.
44
4.1.
48
4.2.
. . . . . . . .
51
4.3.
. . . . . . .
55
4.4.
4.5.
4.6.
57
4.7.
. . . . . . . . . .
57
4.8.
. . . . . . . . . .
58
5.1.
. . . . . . . . . . . . . . . . . . .
66
5.2.
. . . . . . . . . . . . . . . . . . .
67
5.3.
Tipos de enlaces
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
70
5.4.
Estructura secuencial . . . . . . . . . . . . . . . . . . . . . . . . . . . .
71
5.5.
. . . . . . . . . . . . . . . . . . . . .
72
5.6.
. . . . . . . . . . . . . . . . . . . . .
73
5.7.
. . . . . . . . . . . . . . . . . . . . .
74
5.8.
. . . . . . . . . . . . . . . . . . . . .
75
5.9.
Estructura en rejilla
. . . . . . . . . . . . . . . . . . . . . . . . . . . .
76
77
78
79
80
de aplicaciones
. .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
55
56
. . . . . . . . . . . . . . . . . .
80
81
82
83
. . . . . . . . . . . . . . . . .
84
85
86
87
88
6.1.
100
6.2.
Ejemplo de encabezados . . . . . . . . . . . . . . . . . . . . . . . . . .
106
6.3.
107
6.4.
6.5.
. . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . .
municator . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
108
110
ndice de guras
xvii
6.6.
110
6.7.
111
6.8.
113
6.9.
114
. . . . . . . . . . . . . . . . . . . . . . . . . .
116
117
119
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . .
121
. . . . . . . . . . . . . . . . . . . . . . . .
124
124
125
126
127
. . . . . . . . . . . . . . . . . . . . . . .
128
. . . . . . . . . . . . . . . . . . . . . . .
128
. . . . . . . . . . .
130
130
132
. . . . . . . . . . . . . . . . . . . . . . .
134
136
139
140
. . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . .
142
142
142
. . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
144
. . . . . . . . . . . . . . . . . . . .
146
146
146
. . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
148
6.36. Imagen PNG con transparencias visualizada en Microsoft Internet Explorer 5.5
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
148
. . . . . . .
148
. . . . . . . . . . . . . .
150
154
157
. . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
158
159
160
164
. . . . . . . . . . . . . . . . . . . . .
ndice de guras
xviii
. . . . . . . . . . . . . . . . . . . . .
164
8.1.
180
8.2.
180
9.1.
196
9.2.
. . . . . . . . . . . . . . . . . . .
201
9.3.
204
9.4.
207
9.5.
219
9.6.
227
9.7.
Validacin alfabtica . . . . . . . . . . . . . . . . . . . . . . . . . . . .
231
9.8.
Validacin numrica
235
9.9.
. . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . .
238
. . . . . . . . . . . . .
241
246
249
251
253
255
258
260
. . . . .
. . .
260
262
267
269
270
291
. . . . . . . . . . .
. . . .
292
. . . . . . . . . . . . . . . . . . . . . .
293
B.4. Cuadro de dilogo para cambiar colores en Microsoft Internet Explorer 295
B.5. Cuadro de dilogo para cambiar colores en Netscape Communicator
295
301
. . . . . . . . . . . . . . . .
303
305
306
. . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
307
308
310
ndice de guras
xix
. . . . . . . . . . . .
311
. . . . . . . . . . . .
311
311
C.12.Depurador de Microsoft
312
. . . . . . . . . . . . . . . . . . . . . . . . . .
ndice de acrnimos
ADSL
Tecnologa de comunicacin que permite obtener altas velocidades de transmisin a travs de las lneas telefnicas tradicionales. La comunicacin es asimtrica porque las velocidades de recepcin (128 Kbps hasta 9 Mbps) son mayores
que las de transmisin (16 Kbps hasta 640 Kbps).
API
API facilita la
ARPA
Agencia de Proyectos de Investigacin Avanzados. Agencia creada por el Departamento de Defensa de los Estados Unidos de Norteamrica en 1958. Tambin conocida como
ASP
CGI,
ASCII
xxi
ndice de acrnimos
xxii
de estos cdigos
BMP
Bit-map
Formato grco de mapa de bits estndar en los sistemas operativos Microsoft
Windows. Almacena las imgenes en un formato llamado mapa de bits independiente del dispositivo, que signica que el color de cada punto (pixel ) se
almacena de un modo independiente del mtodo empleado por un dispositivo
para representar el color. Existen diversos formatos: 1 bit (blanco y negro), 4
bits (16 colores), 8 bits (256 colores) y 24 bits (16 777 216 colores).
CERN
Organizacin Europea para la Investigacin Nuclear. Es el mayor centro cientco a nivel mundial dedicado a la fsica de partculas. Su sede central se encuentra en Ginebra, Suiza. Fundado en 1954 por 12 pases, actualmente est formado
por 20 pases, entre ellos Espaa. Tim Berners-Lee, mientras trabajaba en l a
principios de 1990, invent la
CGI
WWW.
CGI
es un programa preparado
para recibir y enviar datos desde y hacia un servidor web segn este estndar.
Normalmente se programan en C o en Perl , aunque se puede usar cualquier
lenguaje de propsito general.
CSP
ASP y
JSP en que la lgica de negocio reside junto con la lgica de datos en el sistema
micas en el servidor. Se diferencia de otras tecnologas similares como
CSS
HTML.
como cada elemento, como por ejemplo los encabezados o los enlaces, se tiene
que mostrar. El trmino en cascada indica que diferentes hojas de estilo se
pueden aplicar sobre la misma pgina.
DARPA
Vase
DHTML
ARPA.
Dynamic HTML
Conjunto de extensiones a
pgina web en el cliente sin necesidad de establecer una nueva comunicacin con
el servidor. Se basa en el uso de
ndice de acrnimos
DLL
xxiii
DLL
DOM
HTML
camente el contenido de una pgina web. Desgraciadamente, los dos navegadores mayoritarios poseen distintos modelos de objetos que en algunas partes son
incompatibles entre s.
GIF
sin prdidas (
HTML
WWW.
junio de 1999). Una de las principales ventajas de esta versin es que soporta
conexiones persistentes: una vez que el navegador se conecta al servidor, puede
recibir mltiples cheros a travs de la misma conexin, lo que aumenta el
rendimiento de la transmisin hasta en un 20 %.
ndice de acrnimos
xxiv
IAP
IDC
ISP.
IMP
ASP.
ISAPI
ISAPI,
determinadas peticiones de los clientes, lo cual facilita la programacin de aplicaciones web. Por ejemplo, la tecnologa
ISP
ISO
IAP.
JPEG
Nombre del comit de expertos que desarroll el formato grco con el mismo
nombre. Se trata de un formato grco de mapa de bits que incorpora compresin de datos con prdidas y permite trabajar con 24 bits de color (color real o
verdadero). El nivel de compresin es variable, por lo que se puede elegir entre
mejor calidad y menor compresin o peor calidad y mayor compresin. Este
formato se suele emplear con imgenes fotogrcas o complejas, pero no es el
adecuado para imgenes sencillas, dibujos o textos.
JSP
ndice de acrnimos
LZW
xxv
GIF de
cobrar un canon (la mayora de la gente no saba que haba sido patentado en
1983). Sin embargo, a partir de 1995 decidi cobrar una tasa y se desat una
gran controversia ya que se haba extendido ampliamente su uso.
MIME
1522.
MIT
MNG
NCP
NCSA
NPL
ODBC
ndice de acrnimos
xxvi
es facilitar el acceso a cualquier dato desde cualquier aplicacin, independientemente del sistema gestor de bases de datos empleado. Para ello, en
ODBCse
ODBC, se puede
cambiar la parte servidor (la base de datos) sin tener que cambiar el cliente,
siempre que todas las partes sean compatibles con
OSI
ISO
ODBC.
de red en siete capas. Los siete niveles, desde el ms inferior (1) al superior (7)
son: fsico, enlace, red, transporte, sesin, presentacin y aplicacin.
PNG
RFC
RFC
recibe un nmero.
RGB
de los tres colores bsicos (primarios) rojo (red ), verde (green ) y azul (blue ).
Se trata de un modelo aditivo (se parte del negro). Mediante la combinacin
adecuada de los tres colores bsicos se consigue todo el espectro de colores.
Adems de
RGB
RPC
ndice de acrnimos
SGML
xxvii
Lenguaje que permite organizar y etiquetar los distintos elementos que componen un documento. Se emplea para manejar grandes documentos que sufren
constantes revisiones y se imprimen en distintos formatos e idiomas. Desarrollado y estandarizado por
SLAC
ISO en 1986.
SSL
TCP/IP
URL
VPN
VRML
.wrl
W3C
WWW.
Su propsito es desarrollar
WAI
WWW
Tambin conocida como la Web o la Red. Sistema mundial de servidores web
conectados a Internet (no todos los ordenadores conectados a Internet forman
ndice de acrnimos
xxviii
parte de la
WWW).
Su protocolo de comunicacin es
de creacin de documentos
recursos
WYSIWYG
HTML
HTTP,
su lenguaje
Una aplicacin es
Captulo 1
Introduccin
En este captulo se realiza una introduccin del libro y se presenta el contenido de
cada uno de los captulos. Adems, tambin se comentan las convenciones tipogrcas
empleadas para distinguir los acrnimos, nombres de programas, etc.
ndice General
1.1. Introduccin . . . . . . . . . . . . . . . . . . . . . . . . . .
1.2. Contenido de los captulos . . . . . . . . . . . . . . . . . .
1.3. Convenciones tipogrcas . . . . . . . . . . . . . . . . . .
1
2
3
1.1. Introduccin
Este libro contempla la programacin de la parte cliente de las aplicaciones web. En
el mundo Internet existen muchas tecnologas que se pueden emplear para programar
los clientes web, pero slo dos son las ms extendidas y se pueden considerar el
HTML) y JavaScript.
Este libro no trata sobre diseo grco o artstico de sitios web. Sin embargo, s
que se ofrecen algunos consejos que pueden ayudar a lograr sitios web ms fciles
de usar, prcticos y elegantes. Por ello, me gustara incluir unas palabras de Miguel
Ripoll, uno de los diseadores web de ms prestigio mundial:
A good website has to be fast to download, easy to navigate, appealing to
the eye, on brand and on target, oer something dierent from the rest,
have added value, and constitute a unique user experience. Simple, really.
1
Captulo 1. Introduccin
Un buen sitio web tiene que ser rpido de descargar, fcil de navegar,
atractivo a la vista, centrado en la marca y en el objetivo, ofrecer algo
diferente del resto, tener un valor aadido y constituir una experiencia
nica para el usuario. Simple, en realidad.
Miguel Ripoll,
http://www.miguelripoll.com/
En denitiva, se puede decir que las dos reglas bsicas que hay que tener en cuenta
para desarrollar un sitio web correcto son la simplicidad en el diseo visual y la ecacia
de las herramientas de navegacin y de bsqueda que incorpore.
net. Se comentan los hechos ms importantes y se destacan las personas que ms han
inuido en su desarrollo. Adems, se dedica un apartado especial a la historia de la
Web y se presentan las cuatro generaciones de sitios web que existen actualmente.
En el Captulo 3 (
tpicos de las aplicaciones web: el nivel superior que interacciona con el usuario (el
cliente web, normalmente un navegador), el nivel inferior que proporciona los datos
(la base de datos) y el nivel intermedio que procesa los datos (el servidor web). En
este captulo se describen el cliente y el servidor web y se comentan los entornos web
en los que se ejecutan las aplicaciones web: Internet, intranet y extranet. Adems
se comentan las principales ventajas que poseen las aplicaciones web. Por ltimo se
presenta una metodologa de desarrollo de sitios web.
En el Captulo 5 (
HTML)
se emplea para dar formato a los documentos que se quieren publicar en la World
Wide Web (
WWW).
los documentos con el formato deseado. En este captulo se presentan los conceptos
bsicos y avanzados (enlaces, tablas, marcos, etc.) de
estudio especial de los formularios, ya que son una pieza clave de las aplicaciones web.
1.3.
Convenciones tipogrcas
En el Captulo 7 (
no cometer los errores ms comunes a la hora de crear un sitio web. Adems, tambin
se incluyen una serie de consejos sobre accesibilidad, tanto de cara al usuario como al
navegador.
En el Captulo 8 (
Lenguajes de script)
permiten incluir programacin en las pginas web. En este captulo se explican las
tres formas que existen de incluir y ejecutar cdigo en una pgina web.
JavaScript)
En el Captulo 9 (
vaScript .
guaje estndar. En este captulo se estudian sus caractersticas bsicas, sus diferentes
sentencias, las funciones que incorpora y, por ltimo, como validar formularios.
En el Captulo 10 (
se trata el Modelo
Resumen
de etiquetas HTML) se incluye un resumen de la sintaxis de las etiquetas HTML
macin tratada a lo largo de los captulos. En concreto, en el Apndice A (
en
HTML.
Finalmente, en el Apndice C (
1
2
3
4
5
6
7
8
9
Captulo 1. Introduccin
Cabecera de la pgina
</HEAD>
<BODY>
Cuerpo de la pgina
</BODY>
</HTML>
Los estilos empleados a lo largo del texto son:
Los acrnimos y siglas que guran en el ndice de acrnimos aparecen siempre
destacados en
Graphics
Interchange Format (
Los nombres de los programas se muestran con un tipo de letra sin palo (sans
serif ). Ejemplo: Microsoft Paint, Netscape Navigator, Opera, etc.
Los lenguajes informticos se muestran con un tipo de letra inclinada. Ejemplo:
C, Java, Perl,
etc.
Las extensiones de los cheros, las palabras clave de los lenguajes de pro-
tipo de
.html, <IMG>, var ciudad =
Ejemplo:
Captulo 2
Historia de Internet
En este captulo se presenta una breve historia de Internet. Se comentan los hechos ms
importantes y se destacan las personas que ms han inuido en su desarrollo. Adems, se
dedica un apartado especial a la historia de la Web y se presentan las cuatro generaciones
de sitios web que existen actualmente.
ndice General
2.1.1.
2.1.2.
El primer Internet
. . . . . . . . . . . . . . . . . . . . .
6
7
2.1.3.
Protocolos de Internet . . . . . . . . . . . . . . . . . . . .
14
2.2.1.
El primer navegador . . . . . . . . . . . . . . . . . . . . .
22
2.3.1.
Primera generacin . . . . . . . . . . . . . . . . . . . . . .
25
Segunda generacin
. . . . . . . . . . . . . . . . . . . . .
28
2.3.3.
Tercera generacin . . . . . . . . . . . . . . . . . . . . . .
29
2.3.4.
Cuarta generacin
34
. . . . . . . . . . . . . . . . . . . . . .
Captulo 2.
Historia de Internet
historia de Internet de unas pocas pginas slo se pueden nombrar a las personas ms
importantes.
Como reconocimiento al cambio que Internet ha producido en todos los niveles
TCP/IP).
Protocol (
Vinton Cerf estuvo implicado desde los primeros aos en el desarrollo de ARPANET. En 1973, se uni al proyecto de Robert Kahn de interconexin de redes. Su
mayor contribucin ha sido el desarrollo, junto a Robert Kahn, de
TCP/IP, el pro-
tocolo que gobierna las comunicaciones en Internet y que permite conectar distintas
redes independientes entre s.
Finalmente, Tim Berners-Lee es conocido como el padre de la Web. l fue quien
creo
Transfer Protocol (
de los distintos recursos que forman la Web en Internet. Adems, tambin desarroll
el primer servidor web y el primer navegador/editor web.
2.1.1.
A lo largo de la historia, los medios de comunicacin han evolucionado considerablemente. Se suele citar la capacidad de transmitir el conocimiento de una generacin
a otra como una de las caractersticas que distingue a la especie humana de otras
especies animales, ya que es la clave en el avance de la humanidad.
Distintos acontecimientos han marcado hitos en la comunicacin. Si nos centramos
en los ms importantes que se han producido desde el siglo XIX, destacan por orden
cronolgico:
1 El
premio les fue entregado por el Prncipe de Asturias el 25 de octubre de 2002 en la ceremonia
2.1.
Historia de Internet
2.1.2.
El primer Internet
Las bases del actual Internet se crearon en la dcada de los sesenta. De forma
paralela, y sin que hubiera conocimiento entre ellos del trabajo de los otros, en tres
centros de investigacin se desarrollaron estudios sobre la comunicacin de ordenadores, la redes distribuidas y la conmutacin de paquetes: el Massachusetts Institute
MIT)
of Technology (
2 La
que si se poda poner un satlite, entonces tambin se poda poner un arma nuclear.
Captulo 2.
Historia de Internet
ARPA)
NPL
ARPA.
2.1.
Historia de Internet
Multiple Computer Networks and Intercomputer Communication de Lawrence Roberts, donde se presenta el diseo de ARPANET.
En este conferencia, Lawrence Roberts y Roger Scantlebury se conocen, intercambian ideas y Scantlebury le habla a Roberts de Paul Baran y su trabajo.
1968 (diciembre): La empresa Bolt Beranek and Newman gana la licitacin
IMP
IMP
3 Tambin
10
Captulo 2.
Historia de Internet
2.1.
Historia de Internet
11
12
Captulo 2.
Historia de Internet
2.1.
Historia de Internet
13
1972 (marzo): Ray Tomlinson de Bolt Beranek and Newman crea el primer
programa de correo electrnico.
14
Captulo 2.
Historia de Internet
1974 (mayo): Robert Kahn y Vinton Cerf publican A Protocol for Packet Net-
work Interconnection, en IEEE Transaction on Communications . En este artculo se presenta el primer protocolo de interconexin de redes (TCP). Adems,
aparece por primera vez el trmino Internet.
1978 (marzo): TCP se separa en
CERN).
2.1.3.
Protocolos de Internet
tocolos de comunicacin que permiten el intercambio de informacin de forma independiente de los sistemas en que sta se encuentra almacenada.
TCP/IP constituye
El conjunto de protocolos
serie de servicios.
Como un mismo ordenador puede atender varios servicios, cada servicio se identica con un nmero llamado puerto. Por tanto, a cada protocolo le corresponde un
nmero de puerto. Los protocolos que se encuentran estandarizados poseen un puerto
reservado que no puede emplear ningn otro protocolo.
En el Cuadro 2.1 se muestran los protocolos del nivel 7 ms comunes de Internet
junto con el nmero de puerto que emplean.
Adems de los anteriores protocolos, existen otros menos conocidos que se encuentran en diferentes niveles de la arquitectura
Protocol (ARP), Dynamic Host Conguration Protocol (DHCP), Finger, Gopher, Internet Control Messaging Protocol (ICMP), Internet Relay Chat (IRC), Network File
4 V.G.
Cerf y R.E. Kahn. A Protocol for Packet Network Interconnection. IEEE Transaction on
2.2.
Historia de la Web
Nombre
15
FTP
21
Transferencia de cheros
23
SMTP
25
DNS
53
Resolucin de nombres de
HTTP
80
Transferencia de pginas
POP3
110
Network
NNTP
119
Telnet
co
dominio
HyperText Transfer Protocol
web
trnico
News
Transfer
Protocol
sin
System (NFS), Network Time Protocol (NTP), Routing Information Protocol (RIP)
y Simple Network Management Protocol (SNMP).
HTML como lenguaje para crear los contenidos de la Web, basado en Standard
Generalized Markup Language (SGML).
HTTP como protocolo de comunicacin entre los ordenadores de la Web, encargado de la transferencia de las pginas web y dems recursos.
URL
en Internet.
Los acontecimientos ms importantes en el nacimiento de la Web se remontan a
los aos cuarenta:
1945: Vannevar Bush escribe el artculo As We May Think en The Atlantic
Monthly
5 Vannevar
julio 1945.
Bush. As We May Think. The Atlantic Monthly. Volumen 176, no 1, pginas 101-108,
16
Captulo 2.
Historia de Internet
2.2.
Historia de la Web
17
for the Complex, the Changing, and the Indeterminate . Comienza el desarro-
7
llo del proyecto Xanadu , un sistema basado en hipertexto que nunca lleg a
completarse (an contina su desarrollo).
1967: Andy van Dam y su equipo construyen Hypertext Editing System (HES), el
CERN,
CERN.
6 Ted
Nelson. A File Structure for the Complex, the Changing, and the Indeterminate. 20th Na-
tional Conference ACM, pginas 84-100, New York. Association for Computing Machinery, 1965.
7 http://www.xanadu.net/.
18
Captulo 2.
9
pgina web .
Historia de Internet
8 y se publica la primera
Figura 2.6: Tim Berners-Lee junto a una pantalla de ordenador que muestra su primer
navegador web
WWW en el CERN.
SLAC).
1992: aparecen los primeros navegadores de terceras partes, Erwise, Viola y Midas.
1992: Marc Andreesen y Eric Bina comienzan a trabajar en un nuevo navegador grco para Unix en National Center for Supercomputing Applications
8 nxoc01.cern.ch.
9 http://nxoc01.cern.ch/hypertext/WWW/TheProject.html.
2.2.
Historia de la Web
19
CERN
WWW
podr ser usada gratuitamente por cualquiera, sin tener que pagar ningn tipo
de licencia o canon.
1993 (noviembre):
10 con
la versin 1.0 de este navegador para Microsoft Windows 3.0. En la Figura 2.8 se
muestra la misma pgina visualizada con un navegador actual (la versin 4.78
de Netscape Communicator). Como se puede apreciar, la versin 1.0 de NCSA
Mosaic no estaba preparada para mostrar imgenes Joint Photographic Experts
JPEG),
Group (
10 http://altea.dlsi.ua.es/index_c.html.
20
Captulo 2.
Historia de Internet
2.2.
Historia de la Web
21
W3C).
de los applets .
1995 (agosto): Coincidiendo con el lanzamiento de Microsoft Windows 95, se
presenta Microsoft Internet Explorer 1.0, basado en cdigo licenciado a Spyglass
(que a su vez es una licencia comercial de NCSA Mosaic). A partir de entonces,
comienza la guerra de los navegadores. En la Figura 2.10 se puede ver el cuadro
de dilogo
Explorer 5.5. Se puede comprobar como an esta versin se basa en NCSA Mosaic.
1995 (noviembre): Se lanza al mercado Microsoft Internet Explorer 2.0.
1996 (marzo): Se lanza al mercado Netscape Navigator 2.0. Incorpora nuevas
caractersticas como elementos de
applets programados en
Java,
22
Captulo 2.
Historia de Internet
2.2.1.
El primer navegador
El primer navegador web, que tambin era editor, fue programado por Tim BernersLee a nales de 1990. Al principio lo llam WorldWideWeb, pero despus cambi el
nombre por Nexus, ya que empezaba a usarse World Wide Web para referirse de forma
genrica al sistema de comunicacin que haba ideado.
Este primer navegador se program en Ob jective-C en un ordenador NeXT. Segn Tim, le llev un par de meses programarlo, gracias a que el sistema operativo
NeXTStep facilitaba la programacin al disponer de herramientas para construir los
WYSIWYG), etc.
2.2.
Historia de la Web
23
El men
La
X que tienen las ventanas permite cerrarlas (ms tarde lo copiara Micro-
soft).
tiene la
24
Captulo 2.
Historia de Internet
2.3.
25
Site Design
2.3.1.
Primera generacin
La primera generacin abarca desde el nacimiento de la Web (1992) hasta mediados de 1994. La creacin de pginas web durante esta generacin se ve limitada
por diversas razones tecnolgicas: ancho de banda limitado (mdems de 2.4 Kbps),
navegadores poco desarrollados, monitores monocromos, etc.
Las caractersticas principales de estas pginas son:
Tiempo de carga rpido: son pginas basadas en texto, con muy pocas imgenes
y ningn recurso multimedia.
Navegacin poco estructurada, con falta de coherencia.
Pginas largas, que parece que nunca se acaban. La informacin no se suele
organizar en varias pginas, ya que as se reduce el nmero de transferencias.
Texto escrito como si fuera una hoja de papel: de lado a lado de la pgina y
desde el principio hasta el nal.
Empleo de saltos de lnea como separadores.
Empleo de lneas horizontales para separar secciones en una misma pgina.
Empleo de listas para organizar la informacin.
Poco uso de los enlaces entre pginas de un mismo sitio web.
Como las pginas son muy largas, se emplean muchos enlaces intradocumentales.
Listas interminables de enlaces a otros sitios web.
Se pueden visualizar correctamente casi en cualquier navegador (incluso los navegadores no grcos), pero son aburridas y poco legibles.
Las pginas web poseen un contenido educativo o cientco. Pocas empresas
poseen un sitio web.
11 David
Siegel. Creating Killer Web Sites: The Art of Third-Generation Site Design. Hayden
Books, 1996.
26
Captulo 2.
Historia de Internet
En denitiva, durante este primer periodo, se emplea la Web como si fuera uno de
los medios de comunicacin tradicionales (libros, revistas, etc.). An no se sabe como
aprovechar todas las posibilidades que ofrece la Web.
Respecto a la generacin de las pginas, no existe generacin: las pginas son
estticas. A nales de este primer periodo aparece la tecnologa Common Gateway
Interface (
En la Figura 2.13
12 http://www.luth.se/luth/present/sweden/history/viking_level.
13 http://www.library.cornell.edu/okuref/research/webeval.html.
2.3.
27
28
Captulo 2.
2.3.2.
Historia de Internet
Segunda generacin
14 (bullets ) grcos.
14 Los
topos o bolos son caracteres de imprenta o elementos grcos que representan un gura
geomtrica y que se emplean para destacar el comienzo de un prrafo o apartado, un sumario, las
acepciones de un diccionario, etc.
2.3.
29
En la Figura 2.15
2.3.3.
Tercera generacin
15 http://www.ua.es/ursua/.
16 http://www.cehipar.es/index.htm.
CSS) y
30
Captulo 2.
Historia de Internet
2.3.
HTML.
31
IDC) y luego
ASP), que supone una verdadera revolucin en la creacin
En la Figura 2.17
17 http://www.renault.es.
18 http://www.ua.es/es/index.html.
32
Captulo 2.
Historia de Internet
2.3.
33
34
Captulo 2.
2.3.4.
Historia de Internet
Cuarta generacin
La cuarta y ltima generacin empieza a desarrollarse plenamente en 1999 y discurre hasta la actualidad. Sus caractersticas principales son:
Se vuelven a emplear en exceso los recursos grcos.
En muchos casos se intenta aprovechar hasta el ltimo pixel de la pgina para
presentar informacin.
HTML
DHTML).
HTML (
CSS,
HTML.
19 ): se puede
pertenecientes a la cuarta generacin. En estas pginas podemos detectar las principales caractersticas de esta generacin: uso excesivo de elementos grcos, empleo
de tecnologas multimedia como Macromedia Flash, aprovechamiento hasta el ltimo
pixel de la pgina (en la pgina de la Figura 2.19), etc.
19 En
FutureWave Software,
20 http://www.terra.es.
21 http://www.repsolypf.com/esp/home/home.asp.
22 http://www.mde.es.
2.3.
35
36
Captulo 2.
Historia de Internet
2.3.
37