II Unidad - Tecnologías Web Rev. 2

Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 59

PROGRAMA INSTITUCIONAL UNI

REGION CENTRAL JUIGALPA


FACULTAD DE CIENCIAS Y SISTEMAS

MODULO DE ASIGNATURA:
DISEÑO DE SISTEMAS DE INTERNET

II UNIDAD: TECNOLOGÍAS WEB

RECOPILADO POR:
ING. JAVIER ANTONIO GUTIERRÉZ COREA

9 DE ENERO, 2021
CONTENIDO
PERSPECTIVA HISTÓRICA DEL INTERNET ....................................................... 4

CARACTERISTICAS DE LOS SITIOS WEB .......................................................... 7

Los elementos fundamentales son: ................................................................................ 7


CLASIFICACION DE LOS SITIOS WEB ................................................................ 8

Según la forma en la que se muestran: ........................................................................... 8


Según el tipo de acceso ................................................................................................ 10
Según la tecnología utilizada ........................................................................................ 10
Según su funcionalidad ................................................................................................ 12
PROTOCOLO HTTP (PROTOCOLO DE TRANSFERENCIA DE HIPERTEXTO) 17

Descripción .................................................................................................................. 19
Mensajes...................................................................................................................... 19
Métodos de petición .................................................................................................... 20
Códigos de respuesta ................................................................................................... 22
Cabeceras .................................................................................................................... 23
ARQUITECTURA WWW....................................................................................... 26

Arquitectura física de internet...................................................................................... 26


Arquitectura lógica de Internet. ................................................................................... 28
Modelo OSI de 7 capas: ................................................................................................ 29
URL’S Y ACCESO A RECURSOS ....................................................................... 30

MÉTODOS HTTP DE PERSISTENCIA................................................................. 35

PROTOCOLO SSL/TLS........................................................................................ 37

¿Cómo funciona el Protocolo SSL? ............................................................................... 37


Integridad de la información ........................................................................................ 39
TECNOLOGÍA DE PROGRAMACIÓN WEB ........................................................ 39

Lenguajes programación del lado del cliente ................................................................ 39


LENGUAJES DE PROGRAMACIÓN DEL LADO DEL SERVIDOR .................... 40

ASP.NET (Active Server Pages)...................................................................................... 40


JSP (Java Server Pages) ................................................................................................. 41
PERL (Practical Extraction and Report Language). ......................................................... 42
PHP .............................................................................................................................. 44
¿Programar con lenguajes del lado servidor o del lado cliente? ................................... 46
SERVICIOS REQUERIDOS PARA LAS APLICACIONES WEB ......................... 47

Servicio de Nombres de Dominio (DNS) ....................................................................... 47


Ejemplo de resolución de nombres .............................................................................. 48
SERVICIO DE ALOJAMIENTO WEB ................................................................... 49

SERVICIO DE GESTIÓN DE DATOS ................................................................... 56

¿Qué es un Servidor de Base de Datos?........................................................................ 56


Funciones de un Servidor de Base de Datos ................................................................. 57
Ejemplos de Servidor de Bases de Datos ...................................................................... 58
PERSPECTIVA HISTÓRICA DEL INTERNET

El objetivo era crear una red de comunicaciones militar capaz de seguir funcionando
después de un ataque nuclear.

Los primeros pasos fueron:


• En 1964 Paul Baran, de Rand Corporation propuso la utilización de una red
de conmutación de paquetes.
• En 1968 se puso en funcionamiento el NPL (National Physics Laboratory) en
el Reino Unido.
• En 1969 se creó ARPANET, una red para comunicar los distintos centros
implicados en el proyecto ARPA.

Los miembros de ARPANET fueron:


• Stanford Research Institute (SRI).
• Universidad de California, Santa Barbara.
• Universidad de California, Los Ángeles (UCLA).
• Universidad de Utah.

Evolución de ARPANET:
• 1973. Primera conexión internacional con Inglaterra y Noruega.
• Surge el protocolo TCP/IP para estandarizar la comunicación entre redes.
• 1986. Surge NSFNET (National Science Foundation Network) para
interconectar 5 grandes centros de supercomputación.

Miembros de NSFNET:
• Prinston
• Pittsbourgh
• UCSD
• UIUC
• Cornell
Evolución:
• 1990. Desmantelamiento de ARPANET.
• 1992. Tim Berners-Lee, físico del CERN European Organization for Nuclear
Research (Suiza), inventa la Word Wide Web (WWW).
• 1993. Surge InterNIC.
• 1995. Sun Microsystems presenta un nuevo lenguaje de programación
(Java).

Internet nació a partir de una red denominada ARPANET, diseñada y desarrollada


en 1969 para el Departamento de Defensa de Estados Unidos, creada para
mantener la comunicación entre computadoras en caso de guerra. Según el
Pentágono suponía un gran peligro el hecho de que todas las comunicaciones
dependieran de un gran centro neurálgico que podría ser destruido con una sola
bomba, quedando así sin posibilidades ante el enemigo. Debido a todas estas
circunstancias, la red fue diseñada sin centro neurálgico.

Estados Unidos fue capaz de desarrollar una red que funcionara (la antecesora de
la actual Internet) y los usuarios académicos e investigadores que tenían acceso a
ella rápidamente se volvieron adictos. La demanda por la red muy pronto se
esparció. Los desarrolladores de Internet en Estados Unidos, el Reino Unido y
Escandinavia, en respuesta a las presiones del mercado, empezaron a poner el
software de IP (Internet Protocol) en todo tipo de computadoras.
Se llegó a convertir en el único método práctico para comunicar computadoras de
diferentes fabricantes. Al mismo tiempo que Internet se consolidaba, al mismo
tiempo, muchas compañías y otras organizaciones empezaron a construir redes
privadas usando los mismos protocolos de ARPAnet. Parecía obvio que, si estas
redes podían comunicarse entre sí, los usuarios de una red podrían comunicarse
con usuarios de otra y todo el mundo sería beneficiado.

De estas nuevas redes, una de las más importantes fue la NSFNET, auspiciada por
la Fundación Nacional de la Ciencia (National Science Foundation), una agencia del
gobierno de Estados Unidos. Al final de los ochenta la NSF creó cinco centros de
supercómputo en universidades importantes.

Hasta ese entonces, las computadoras más rápidas del mundo sólo estaban a
disposición de los fabricantes de armamento y de algunos investigadores de
compañías muy grandes. Con la creación de centros de supercómputo, la NSF
ponía éstas a disposición de cualquier investigación escolar. Al principio, la NSF
trató de utilizar la red ARPAnet para la comunicación de los centros, pero esta
estrategia falló debido a problemas burocráticos. En respuesta a esto, la NSF
decidió construir su propia red basada en la tecnología IP de ARPAnet, esta red
conectaba los centros mediante enlaces telefónicos de 56,000 bits por segundo. El
costo de la línea telefónica depende de la distancia por esta razón, se decidió crear
redes regionales. En cada región del país las escuelas podían conectarse a su
vecino más cercano. Cada cadena estaba conectada a un centro de supercómputo
en un solo punto.

El hecho de compartir supercomputadoras permitió a los centros de cómputo


compartir recursos no relacionados con los centros. Repentinamente, las escuelas
que participaban en la red contaron con un amplio universo de información y
colaboradores al alcance de sus manos. El tráfico en la red se incrementó con el
tiempo hasta que las computadoras que la controlaban y las líneas de teléfono
conectadas a ellas se saturaron. En 1987 se celebró un contrato para administrar y
actualizar la red, con la compañía Merit Network Inc., en colaboración con IBM y
MCI. La vieja red fue mejorada con líneas telefónicas de mayor velocidad (por un
factor de 20) y con computadoras más poderosas.
CARACTERISTICAS DE LOS SITIOS WEB

Los estándares y pautas para el diseño de un sitio Web son un conjunto de


elementos de vital importancia a considerar antes de su realización para obtener
una buena usabilidad.

Todos estos dependen de que el visitante primero llegue hasta el sitio y una vez en
su interior, cumpla con los objetivos que lo condujeron hacia él de una manera
rápida y simple, garantizando un futuro regreso.

En ocasiones se piensa que sólo con tener un sitio Web en Internet se logra que
sea visitando por las personas que tengan interés en su contenido, pero realmente
no funciona así tan simple.

Hay que tener en cuenta un conjunto de elementos desde su diseño e


implementación para que felizmente esto ocurra.

Los elementos fundamentales son:

• Claridad en los objetivos del sitio.


• Información básica correspondiente al contenido.
• Selección de un nombre de dominio correcto.
• Selección de la tecnología para el diseño y la programación.
• Selección adecuada de un alojamiento Web (hosting)
• Realización de un diseño en función de los requerimientos del sitio y de los
usuarios.
• La navegabilidad.
• Realización de la programación en determinación de los requerimientos del
sitio y de los usuarios.
• Aplicación de técnicas de SEO para lograr una mayor visibilidad en Internet.

• Actualizar los contenidos periódicamente.


CLASIFICACION DE LOS SITIOS WEB

Los tipos de páginas web se pueden clasificar según su forma, tipo de acceso,
tecnología utilizada y funcionalidad. Las páginas web se definen como un
documento electrónico que contiene información que puede ser textual, visual y/o
sonora. Se encuentran alojadas en un servidor y se puede acceder a ellas por medio
de un navegador.

Un sitio web está conformado por varias páginas web. Es decir, que cuando se habla
de “página web” se habla de una URL específica y no a un sitio web en general, ya
que estos están formados por múltiples páginas web con diferentes URLs.

El sitio web suele contar con enlaces cuya función es facilitar la navegación entre
los contenidos. Y se identifica con un nombre, conocido como dominio. Existen
muchos tipos de páginas web y por lo tanto también existen diversas formas de
clasificarlas. Estas son las principales.

Según la forma en la que se muestran:

Estáticas

Las páginas webs estáticas son aquellas en las que la información mostrada no
cambia constantemente. Están formadas por un conjunto de archivos compuestos
por códigos HTML.

Este lenguaje de programación es el que permite mostrar el contenido de la página,


es decir, las imágenes, textos, vídeos y todos los demás contenidos que la
componen.

Este tipo de páginas también se caracteriza porque no interactúan con el usuario o


con el navegante. Los archivos que conforman estas páginas web se almacenan en
el servidor de Hosting y su formato es también en HTML.
Su contenido no se modifica con regularidad. Y cuando se hace se necesita
descargar los archivos del servidor con algún software para editarlas con programas
como Dreamweaver. Luego de modificarse el contenido, este debe subirse
nuevamente al servidor para que los cambios sean visibles.

Estas fueron las primeras que aparecieron en el momento en el que comenzó a


expandirse y a desarrollarse el Internet. Aunque son relativamente fáciles de crear
y desarrollar, sobre todo por el uso de programas de edición de textos, la
complejidad que implica la actualización del contenido no resulta funcional.

No obstante, este tipo de páginas es el ideal para aquellos sitios web que no
ameritan actualizar constantemente el contenido.

Dinámicas

Las páginas dinámicas se caracterizan porque interactúan con el usuario. Es decir,


que no se trata de un simple archivo HTML, sino de un contenido que es interactivo.

Esto se debe a que la información se almacena en bases de datos que permiten el


desarrollo de aplicaciones webs. Es entonces desde allí desde donde se recupera
la información necesaria para mostrar según las peticiones de los usuarios.

Su ventaja frente a las estáticas es que en este caso el contenido puede modificarse
con mayor rapidez a través de un gestor de contenido. Además de que tiene mayor
poder de personalización.

Por otro lado, no se desarrollan bajo el lenguaje de programación HTML sino de


otros como ASP, PHP, JSP o RUBY. Para manejar estos lenguajes si se requiere
contar con conocimientos informáticos.

Las páginas web de este tipo nacieron a principios de los años 90. A medida que
fue creciendo la Red, las necesidades de los usuarios fueron cambiando.
Y se hizo cada vez más necesario contar con información actualizada con mayor
regularidad. Fue precisamente por el inmenso volumen de información que se hizo
necesario el uso de buscadores al estilo Google.

Según el tipo de acceso

Las páginas web estáticas y dinámicas pueden clasificarse en dos tipos.

Privadas

Este tipo de página es aquella a la que solo pueden acceder ciertas personas. Estas
deben tener una identificación para que el sistema pueda reconocerlos y así poder
permitir a estos la visualización del contenido.

Los sitios web de entidades bancarias contienen páginas privadas, ya que para
ingresar a tu cuenta personal necesitas introducir unos datos específicos
reservados solo para ti.

Públicas

A diferencia de las privadas, las páginas públicas se caracterizan porque no posee


ninguna restricción de acceso. Es decir, que cualquier persona con una conexión a
Internet puede visualizar su contenido.

Según la tecnología utilizada

En HTML

Se trata de páginas estáticas construidas bajo el lenguaje de marcado HTML. Las


siglas HTML significan Hiper Text Markup Languaje (Lenguaje de marcas de
hipertexto). Para construir páginas web con este formato se requiere tener
conocimientos sobre este lenguaje.
No obstante, se trata de uno bastante sencillo, por lo que casi cualquier persona
con un poco de conocimiento de diseño web, puede realizarlas. Además, puede
usarse un software para la edición web o incluso cualquier un editor de texto.

La desventaja de estas páginas es que son estáticas. Por ello, solo sirven para
ofrecer información de forma sencilla. Y debido al esfuerzo que requiere la
actualización de contenido y a que no existe interacción con los usuarios, no son
recomendables como herramientas de marketing y ventas.

En flash

Estas páginas se construyen gracias a la utilización del software Flash de Adobe.


Suelen ser muy vistosas, porque incluyen animaciones, sonidos, efectos y
movimientos.

Por ello, también se les conoce como páginas animadas. Para que puedan ser
visualizadas se necesita contar con un programa anexo al navegador o plug-in en
el ordenador. Para construirlas se necesita tener conocimientos profundos sobre el
software de animación.

Una desventaja de las páginas hechas con Flash es que son muy pesadas. Esto se
traduce en un mayor tiempo de carga. Debido a esto, es importante que el servidor
disponga de espacio y capacidad para almacenar otros programas.

Por otro lado, mientras más cantidad de archivos contenga la página, menor será la
velocidad de esta. Otra gran desventaja es que los buscadores como Google no
pueden leer su contenido. Lo que significa que este no puede posicionarse
utilizando herramientas SEO.
En lenguaje de servidor

Se trata de la opción más común actualmente. Son dinámicas con una gran
capacidad y se desarrollan en algún lenguaje de programación de servidor.

Entre los lenguajes más usados están PHP, PHP combinado con Ajax, ASP, Ruby,
ColdFusion, entre otros. Tal como sucede con las páginas en Flash, para su
desarrollo se necesita contar con una serie de conocimientos anexos.

También son conocidas por su versatilidad, por lo que pueden realizar todo tipo de
funcionalidades. Debido a que permiten la interacción con los usuarios, resultan
ideales como herramientas de ventas.

Según su funcionalidad

Páginas transaccionales o de comercio electrónico

Se trata de páginas web donde las empresas muestran sus productos para que
sean comprados a través de ella. Estas son básicamente el medio para presentarlos
y promocionarlos. Uno de los objetivos de este tipo de página es realizar ventas o
transacciones en línea, así como alojar información sobre productos.

Las ventas a través de este tipo de páginas se realizan por medio de tarjetas de
crédito, domiciliación bancaria, transferencia o monederos online como PayPal.

Estas transacciones suelen ser seguras porque para ello se implementan diversos
protocolos de seguridad. Amazon es el mejor ejemplo de este tipo de páginas web.

Páginas de marca

Este tipo de página web está dirigida a la construcción de una marca. Han sido
desarrolladas para afianzar la imagen de la marca ante los clientes.

En estas webs los productos no pueden comprarse como sucede en las páginas de
comercio electrónico. Aunque muchas veces ofrecen la posibilidad de comprar
material POP de la marca.
Estos sitios tienen como objetivo preservar la imagen corporativa de la compañía.
Suelen ser utilizados por marcas de productos de consumo masivo y se dedican a
compartir constantemente contenido interesante para acercarse a los clientes y
fidelizarlos.

Páginas de servicios profesionales

Esta modalidad de página web está orientada a ofrecer información sobre productos
y servicios. Sin embargo, no se trata de una página de comercio electrónico de las
que tienen un carrito de compra. Aunque se promociona la venta, la página no
funciona como un medio de compra.

El objetivo de este tipo de página es incentivar a los clientes a que compren los
productos o servicios publicitados, pero de forma offline.

Suelen ser utilizadas por profesionales de distintas áreas, así como por proveedores
de servicios y por distintos negocios en los que el proceso de venta debe, por
obligación, realizarse en persona.

Páginas de contenido

Este es una de las páginas web más populares. En esta categoría entran las
páginas de noticias o las que se dedican a temáticas específicas: belleza, salud,
tecnología, medicina, entre muchos otros temas. En este caso el principal producto
que se comercializa es el contenido.

Este tipo de páginas son conocidas como blogs y allí se publican artículos
informativos, llamados también posts. Los autores pueden ser una o varias
personas y quedan organizados de forma cronológica a medida que se publican.

Este es quizá el mejor ejemplo de una página dinámica, ya que en este caso los
lectores suelen interactuar en la página dejando sus comentarios.
Foros, comunidades y redes sociales

Se trata de páginas dedicadas a estimular la interacción, la generación y el


intercambio de información entre los usuarios. Es aquí donde personas con
intereses afines se reúnen para comunicarse con otros, ya sea por medio de chats
o foros. Estas páginas suelen ser muy conocidas. Se habla así de Facebook,
Twitter, Snapchat o foros especializados.

Wikis

Estas son páginas enciclopedias sociales en las que una comunidad de autores
sube y corrige información. Es una web colaborativa en la que poco a poco se va
generando una enorme base de datos sobre temas específicos. La página web más
famosa con este formato es Wikipedia.

Páginas de descarga

Webs generadas con el fin de proporcionar al usuario una serie de archivos


(software, archivos, libros, contenido audiovisual) que se obtienen en forma de
descarga. Son muy polémicas ya que muchas de ellas son ilegales, ya que ofrecen
la posibilidad de obtener contenido multimedia difundido de manera ilegal.

Buscadores

Si hablamos de Google como ejemplo de buscador se simplifica mucho la


explicación. Vienen a ser páginas webs desarrolladas para que el usuario busque y
realice consultas sobre algún tema que le interese. El buscador reúne toda la
información y le ofrece una serie de resultados. Existen otros motores de búsquedas
alternativos a Google como son Bing, Ecosia o Duckduckgo.
Webs de información

Podrían ser similares a las de webs de contenido, con la diferencia que estas están
gestionadas normalmente por grandes compañías de comunicación que son líderes
en los medios tradicionales. Ofrecen constantemente contenido novedoso y,
generalmente, de calidad.

Portales de vídeos

Web para subir o reproducir contenido audiovisual. Youtube es su referente, aunque


existen otros también conocidos como Vimeo o Dailymotion. Sería lo más parecido
a una evolución de la tradicional televisión.

Redes sociales

Las redes sociales son portales dedicados al intercambio de información u opiniones


entre los distintos usuarios digitales. Son similares a los foros, pero mucho más
personalizados a la hora de ofrecer información sobre uno mismo y con más
facilidad para compartir contenido multimedia. Pueden tener un uso doméstico o
profesional. Algunas de las redes sociales más conocidas son Facebook, Instagram
o Twitter.

Portfolios y webs de empleo

Destinadas a ofrecer perfiles laborales y ofertas de empleo. En ella, tanto el


reclutador como candidato tiene la oportunidad de venderse a través de sus trabajos
y experiencias académicas y profesionales.

Webs de juegos online

Portales de entretenimiento dedicado al juego online. Los dos grandes géneros son
los destinados al mundo gamer (minijuegos, por ejemplo) y al de las apuestas y
juegos de azar (bet365 p.e.).
Comparadores y rastreadores

Son webs especialidades en recopilar información y tarifas sobre algún producto o


servicio concreto, ya sean hoteles, seguros de coche, casas de apuestas o
tecnología. Te podrá sonar booking, rastreator o kimovil, entre otros.

Webs educativas

Destinadas a la formación online, denominada también e-learning. Pueden ser


oficiales (universidades, escuelas) o privadas (domestika, moodle), con diferentes
temáticas (salud, diseño, tecnología, etc.). Algunas disponen de aulas virtuales en
las que se intercambian contenido e información entre profesores y alumnos.

Bancos de contenido multimedia

Portales donde se recopila contenido multimedia (imagen, vídeo, audio, gif…) para
que un usuario pueda hacer uso del mismo. Pueden ser plataformas gratuitas o de
pago.

Portales de aplicaciones web


Las más conocidas son Play Store y App Store. Son portales de descarga de
herramientas que facilitan el uso de la computadora o smartphone. Pueden ser
aplicaciones simples como una calculadora a otras más desarrolladas como retoque
fotográfico, cuenta calorías o gestores de limpieza.
PROTOCOLO HTTP (PROTOCOLO DE TRANSFERENCIA DE HIPERTEXTO)

El Protocolo de transferencia de hipertexto (en inglés, Hypertext Transfer Protocol,


abreviado HTTP) es el protocolo de comunicación que permite las transferencias de
información en la World Wide Web.

HTTP fue desarrollado por el World Wide Web Consortium y la Internet Engineering
Task Force, colaboración que culminó en 1999 con la publicación de una serie
de RFC, siendo el más importante de ellos el RFC 2616 que especifica la versión
1.1. HTTP define la sintaxis y la semántica que utilizan los elementos de software
de la arquitectura web (clientes, servidores, proxies) para comunicarse.

HTTP es un protocolo sin estado, es decir, no guarda ninguna información sobre


conexiones anteriores. El desarrollo de aplicaciones web necesita frecuentemente
mantener estado. Para esto se usan las cookies, que es información que un servidor
puede almacenar en el sistema cliente.

Esto les permite a las aplicaciones web instituir la noción de sesión, y también
permite rastrear usuarios ya que las cookies pueden guardarse en el cliente por
tiempo indeterminado.

HTTP ha pasado por múltiples versiones del protocolo, muchas de las cuales son
compatibles con las anteriores. El RFC 2145 describe el uso de los números de
versión de HTTP. El cliente le dice al servidor al principio de la petición la versión
que usa, y el servidor usa la misma o una anterior en su respuesta.

0.9 (lanzada en 1991)

Obsoleta. Soporta solo un comando, GET, y además no especifica el número de


versión HTTP. No soporta cabeceras. Como esta versión no soporta POST, el
cliente no puede enviarle mucha información al servidor.
HTTP/1.0 (mayo de 1996)

Esta es la primera revisión del protocolo que especifica su versión en las


comunicaciones, y todavía se usa ampliamente, sobre todo en servidores proxy.
Permite los métodos de petición GET, HEAD y POST.

HTTP/1.1 (junio de 1999)

Versión más usada actualmente; Las conexiones persistentes están activadas por
defecto y funcionan bien con los proxies. También permite al cliente enviar múltiples
peticiones a la vez por la misma conexión (pipelining) lo que hace posible eliminar
el tiempo de Round-Trip delay por cada petición.

HTTP/1.2 (febrero de 2000)

Los primeros borradores de 1995 del documento PEP — an Extension Mechanism


for HTTP (el cual propone el Protocolo de Extensión de Protocolo, abreviado PEP)
los hizo el World Wide Web Consortium y se envió al Internet Engineering Task
Force. El PEP inicialmente estaba destinado a convertirse en un rango distintivo de
HTTP/1.2.4 En borradores posteriores, sin embargo, se eliminó la referencia a
HTTP/1.2. El RFC 2774 (experimental), HTTP Extension Framework, incluye en
gran medida a PEP. Se publicó en febrero de 2000.

HTTP/2 (mayo de 2015)

En el año 2012 aparecen los primeros borradores de la nueva versión de HTTP


(HTTP/2). Esta nueva versión no modifica la semántica de aplicación de http (todos
los conceptos básicos continúan sin cambios). Sus mejoras se enfocan en cómo se
empaquetan los datos y en el transporte. Por ejemplo, añade el uso de una única
conexión, la compresión de cabeceras o el servicio 'server push'. Los exploradores
más importantes solo soportan HTTP 2.0 sobre TLS usando la extensión ALPN5
que requiere TLSv1.2 o superior6.
Descripción

Es un protocolo orientado a transacciones y sigue el esquema petición-respuesta


entre un cliente y un servidor. El cliente (se le suele llamar "agente de usuario", en
inglés user agent) realiza una petición enviando un mensaje, con cierto formato al
servidor. El servidor (se le suele llamar un servidor web) le envía un mensaje de
respuesta. Ejemplos de cliente son los navegadores web y las arañas web (también
conocidas por su término inglés, webcrawlers).

Mensajes

Los mensajes HTTP son en texto plano lo que lo hace más legible y fácil de depurar.
Esto tiene el inconveniente de hacer los mensajes más largos.

Los mensajes tienen la siguiente estructura:

• Línea inicial (termina con retorno de carro y un salto de línea)


• Para las peticiones: la acción requerida por el servidor (método de petición)
seguido de la URL del recurso y la versión HTTP que soporta el cliente.
• Para respuestas: La versión del HTTP usado seguido del código de
respuesta (que indica que ha pasado con la petición seguido de la URL del
recurso) y de la frase asociada a dicho retorno.
• Las cabeceras del mensaje que terminan con una línea en blanco.
Son metadatos. Estas cabeceras le dan gran flexibilidad al protocolo.
• Cuerpo del mensaje. Es opcional. Su presencia depende de la línea anterior
del mensaje y del tipo de recurso al que hace referencia la URL. Típicamente
tiene los datos que se intercambian cliente y servidor. Por ejemplo, para una
petición podría contener ciertos datos que se quieren enviar al servidor para
que los procese. Para una respuesta podría incluir los datos que el cliente ha
solicitado.
Métodos de petición

Un pedido HTTP usando telnet. El pedido (request), cabeceras de respuesta


(response headers) y el cuerpo de la respuesta (response body) están resaltados.

HTTP define una serie predefinida de métodos de petición (algunas veces referido
como "verbos") que pueden utilizarse. El protocolo tiene flexibilidad para ir
añadiendo nuevos métodos y para así añadir nuevas funcionalidades. El número de
métodos de petición se ha ido aumentando según se avanzaba en las versiones.7
Cada método indica la acción que desea que se efectúe sobre el recurso
identificado. Lo que este recurso representa depende de la aplicación del servidor.
Por ejemplo, el recurso puede corresponderse con un archivo que reside en el
servidor.

GET

El método GET solicita una representación del recurso especificado. Las solicitudes
que usan GET solo deben recuperar datos y no deben tener ningún otro efecto.
(Esto también es cierto para algunos otros métodos HTTP.)

HEAD

RFC 2616. Pide una respuesta idéntica a la que correspondería a una petición GET,
pero en la respuesta no se devuelve el cuerpo. Esto es útil para poder recuperar los
metadatos de los encabezados de respuesta, sin tener que transportar todo el
contenido.

POST

RFC 2616. Envía los datos para que sean procesados por el recurso identificado.
Los datos se incluirán en el cuerpo de la petición. Esto puede resultar en la creación
de un nuevo recurso o de las actualizaciones de los recursos existentes o ambas
cosas.
PUT

( RFC 2616 ) Sube, carga o realiza un upload de un recurso especificado (archivo o


fichero) y es un camino más eficiente ya que POST utiliza un mensaje multiparte y
el mensaje es decodificado por el servidor. En contraste, el método PUT permite
escribir un archivo en una conexión socket establecida con el servidor. La
desventaja del método PUT es que los servidores de alojamiento compartido no lo
tienen habilitado.

Ejemplo:

PUT /path/filename.html HTTP/1.1

DELETE

RFC 2616. Borra el recurso especificado.

TRACE

( RFC 2616 ) Este método solicita al servidor que introduzca en la respuesta todos
los datos que reciba en el mensaje de petición. Se utiliza con fines de depuración y
diagnóstico ya que el cliente puede ver lo que llega al servidor y de esta forma ver
todo lo que añaden al mensaje los servidores intermedios

OPTIONS

RFC 2616. Devuelve los métodos HTTP que el servidor soporta para un URL
específico. Esto puede ser utilizado para comprobar la funcionalidad de un servidor
web mediante petición en lugar de un recurso específico.

CONNECT

RFC 2616. Se utiliza para saber si se tiene acceso a un host, no necesariamente la


petición llega al servidor, este método se utiliza principalmente para saber si un
proxy nos da acceso a un host bajo condiciones especiales, como por ejemplo
"corrientes" de datos bidireccionales encriptadas (como lo requiere SSL).

PATCH

( RFC 5789 ). Su función es la misma que PUT, el cual sobreescribe completamente


un recurso. Se utiliza para actualizar, de manera parcial una o varias partes. Está
orientado también para el uso con proxy.

Códigos de respuesta

El código de respuesta o retorno es un número que indica que ha pasado con la


petición. El resto del contenido de la respuesta dependerá del valor de este código.
El sistema es flexible y de hecho la lista de códigos ha ido aumentando para así
adaptarse a los cambios e identificar nuevas situaciones. Cada código tiene un
significado concreto. Sin embargo, el número de los códigos están elegidos de tal
forma que según si pertenece a una centena u otra se pueda identificar el tipo de
respuesta que ha dado el servidor:

• Códigos con formato 1xx: Respuestas informativas. Indica que la petición ha


sido recibida y se está procesando.
• Códigos con formato 2xx: Respuestas correctas. Indica que la petición ha
sido procesada correctamente.
• Códigos con formato 3xx: Respuestas de redirección. Indica que el cliente
necesita realizar más acciones para finalizar la petición.
• Códigos con formato 4xx: Errores causados por el cliente. Indica que ha
habido un error en el procesado de la petición a causa de que el cliente ha
hecho algo mal.
• Códigos con formato 5xx: Errores causados por el servidor. Indica que ha
habido un error en el procesado de la petición a causa de un fallo en el
servidor.
Cabeceras

Son los metadatos que se envían en las peticiones o respuesta HTTP para
proporcionar información esencial sobre la transacción en curso. Cada cabecera es
especificada por un nombre de cabecera seguido por dos puntos, un espacio en
blanco y el valor de dicha cabecera seguida por un retorno de carro seguido por un
salto de línea. Se usa una línea en blanco para indicar el final de las cabeceras. Si
no hay cabeceras la línea en blanco debe permanecer.

Las cabeceras le dan gran flexibilidad al protocolo permitiendo añadir nuevas


funcionalidades sin tener que cambiar la base. Por eso según han ido sucediendo
las versiones de HTTP se han ido añadiendo más y más cabeceras permitidas.

Las cabeceras pueden tener metadatos que tienen que ser procesados por el cliente
(ej. en respuesta a petición se puede indicar el tipo del contenido que contiene), por
el servidor (ej. tipos de representaciones aceptables por el cliente del contenido que
pide) o por los intermediarios (ej. como gestionar el cacheo por parte de los proxys)

Dependiendo del tipo de mensaje en el que puede ir una cabecera las podemos
clasificar en cabeceras de petición, cabeceras de respuesta y cabeceras que
pueden ir tanto en una petición como en una respuesta.

Podemos clasificar las cabeceras según su función. Por ejemplo:

Cabeceras que indican las capacidades aceptadas por el que envía el


mensaje: Accept (indica el MIME aceptado), Accept-Charset (indica el código de
caracteres aceptado), Accept-Encoding (indica el método de compresión
aceptado), Accept-Language (indica el idioma aceptado), User-Agent (para
describir al cliente), Server (indica el tipo de servidor), Allow (métodos permitidos
para el recurso)

Cabeceras que describen el contenido: Content-Type (indica el MIME del


contenido), Content-Length (longitud del mensaje), Content-Range, Content-
Encoding, Content-Language, Content-Location.
Cabeceras que hacen referencias a URIs: Location (indica donde está el
contenido), Referer (Indica el origen de la petición).

Cabeceras que permiten ahorrar transmisiones: Date (fecha de creación), If-


Modified-Since, If-Unmodified-Since, If-Match, If-None-Match, If-
Range, Expires, Last-Modified, Cache-Control, Via, Pragma, Etag, Age, Retry-
After.

Cabeceras para control de cookies: Set-Cookie, Cookie

Cabeceras para autentificación: Authorization, WW-Authenticate

Cabeceras para describir la comunicación: Host (indica máquina destino del


mensaje), Connection (indica cómo establecer la conexión)

Otras: Range (para descargar solo partes del recurso), Max-Forward (límite de
cabeceras añadidas en TRACE).

Ejemplo de diálogo HTTP

Para obtener un recurso con el URL http://www.example.com/index.html

Se abre una conexión en el puerto 80 del host www.example.com.

El puerto 80 es el puerto predefinido para HTTP. Si se quisiera utilizar el puerto


XXXX habría que codificarlo en la URL de la forma
http://www.example.com:XXXX/index.html

Se envía un mensaje en el estilo siguiente:

GET /index.html HTTP/1.1

Host: www.example.com

Referer: www.google.com
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Firefox/45.0

Connection: keep-alive

La respuesta del servidor está formada por encabezados seguidos del recurso
solicitado, en el caso de una página web:

HTTP/1.1 200 OK
Date: Fri, 31 Dec 2003 23:59:59 GMT
Content-Type: text/html
Content-Length: 1221

<html lang="eo">
<head>
<meta charset="utf-8">
<title>Título del sitio</title>
</head>
<body>
<h1>Página principal de tuHost</h1>
(Contenido)
.
.
.
</body>
</html>
ARQUITECTURA WWW

La arquitectura del WWW se puede ver desde dos puntos de vista Arquitectura física
y Arquitectura lógica.

Arquitectura física de internet.

Dentro de la arquitectura física podemos mencionar los diferentes tipos de redes:

– Computadoras personales (PCs)

– Redes de área local (LANs)

– Redes de área global (WANs)

Las Computadoras personales tienen las siguientes características

• Conexión esporádica a Internet.


• Necesaria la colaboración de otra computadora que esté conectada de forma
continua a Internet (ISP Proveedor de Servicios Internet).
• Debe establecerse un diálogo con el ISP a través de algún canal de
comunicación.

Las formas de conexión pueden ser:

❖ Línea telefónica estándar.


➢ Necesario el uso de un hardware que actúe de interfaz entre la computadora
y la línea telefónica (módem).
➢ Modems internos o externos.
➢ Velocidad baja

❖ RDSI (Red Digital de Servicios Integrados).


➢ Línea digital.
➢ Sigue siendo necesario un hardware específico que actúe de interfaz entre
la línea y la computadora.
➢ Hardware distinto del usado para la línea telefónica estándar (módem RDSI).
➢ Posibilidad de conexión a Internet y al mismo tiempo disponibilidad de línea
telefónica.
➢ Posibilidad de videoconferencia punto a punto.

❖ ADSL (Asymmetric Digital Subscriber Line).


➢ Línea de comunicación de alta velocidad.
➢ Utiliza como soporte el par de cables de cobre de la línea telefónica estándar.
➢ Velocidad de comunicación asimétrica

❖ Cable.
➢ Utiliza uno de los canales de vídeo de un suministrador de acceso a cable.
➢ Suele suministrarse en unión de otros servicios (televisión, teléfono, etc.).

❖ Satélite.
➢ Al igual que ADSL, se trata de un canal de comunicación asimétrico.
➢ Los datos de salida viajan generalmente a través de teléfono.
➢ La recepción se realiza a través de uno o más canales de vídeo emitidos por
un satélite.

❖ Redes de Área Local (LANs)


➢ Sirve para unir ordenadores situados en general en un mismo edificio o grupo
de edificios.
➢ En la red pueden coexistir sistemas actuando como servidores y como
clientes.
➢ Las computadoras se unen formando topologías (lineales, anillo, estrella, …).
➢ Sigue siendo necesario un hardware dedicado que actúe como interfaz entre
la computadora y la red (tarjeta de red).
Velocidades típicas.

1. Ethernet: 10 Mb audios.
2. Token Ring: 4 y 16 Mb audios.
3. Fast Ethernet: 100 Mb audios.
4. Giga Ethernet: 1Gb audio.

Nuevas tendencias:

❖ Redes inalámbricas Redes de Área Global (WAN)


❖ Unión de múltiples LANs.

❖ La unión de múltiples WANs a nivel mundial es lo que se conoce como Internet.

Arquitectura lógica de Internet.

Normalmente en Internet se usa la arquitectura cliente-servidor. Este tipo de


organización se basa en que: entre todos los computadores que están en la red,
unos ofrecen servicios (los llamados servidores) y otros usan esos servicios (los
denominados clientes). Cuando el cliente está viendo estas páginas, está
accediendo a un servicio que les ofrece el servidor de páginas WEB. Los sistemas
cliente-servidor están construidos de tal modo que la base de datos puede residir
en el servidor y ser compartida entre todos los usuarios.

La arquitectura de Internet a nivel lógico está estructurada por lo que se conoce


como capas de servicio.
Modelo OSI de 7 capas:

Capa física:

La Capa Física del modelo de referencia OSI es la que se encarga de las conexiones
físicas de la computadora hacia la red, tanto en lo que se refiere al medio físico
(medios guiados: cable coaxial, cable de par trenzado, fibra óptica y otros tipos de
cables; medios no guiados: radio, infrarrojos, microondas, láser y otras redes
inalámbricas);

Capa de datos:

La capa de enlace de datos se ocupa del direccionamiento físico, de la topología de


la red, del acceso a la red, de la notificación de errores, de la distribución ordenada
de tramas y del control del flujo.

Capa de red:

El cometido de la capa de red es hacer que los datos lleguen desde el origen al
destino, aun cuando ambos no estén conectados directamente. Los dispositivos que
facilitan tal tarea se denominan enrutadores, aunque es más frecuente encontrar el
nombre inglés routers.

Capa de transporte: Su función básica es aceptar los datos enviados por las capas
superiores, dividirlos en pequeñas partes si es necesario, y pasarlos a la capa de
red, también se asegura que lleguen correctamente al otro lado de la comunicación.

Capa de Sesión:

Esta capa es la que se encarga de mantener el enlace entre los dos computadores
que estén trasmitiendo archivos, ofrece varios servicios que son cruciales para la
comunicación, como son:
✓ Control de la sesión a establecer entre el emisor y el receptor (quién transmite,
quién escucha y seguimiento de ésta).
✓ Control de la concurrencia (que dos comunicaciones a la misma operación crítica
no se efectúen al mismo tiempo).
✓ Mantener puntos de verificación, que sirven para que, ante una interrupción de
transmisión por cualquier causa, la misma se pueda reanudar desde el último
punto de verificación en lugar de repetirla desde el principio.

Capa de presentación: El objetivo de la capa de presentación es encargarse de la


representación de la información, de manera que, aunque distintos equipos puedan
tener diferentes representaciones internas de caracteres (ASCII, Unicode,
EBCDIC), números (little-endian tipo Intel, big-endian tipo Motorola), sonido o
imágenes, los datos lleguen de manera reconocible.

Capa de aplicación: Ofrece a las aplicaciones (de usuario o no) la posibilidad de


acceder a los servicios de las demás capas y define los protocolos que utilizan las
aplicaciones para intercambiar datos, como correo electrónico (POP y SMTP),
gestores de bases de datos y servidor de archivos (FTP).

URL’S Y ACCESO A RECURSOS

En la Web existe un sinnúmero de objetos, a los que se puede acceder mediante


una variedad de protocolos. Para poder abstraer la idea de “objeto genérico”, se
necesita disponer de conceptos que den sentido a nombres y direcciones en la Web.
Un Identificador Universal de Recursos (URI) es un miembro de este conjunto
universal de nombres, un Localizador Uniforme de Recursos (URL), es básicamente
un caso particular de URI que expresa una dirección, mapeada a un algoritmo de
recuperación del objeto que usa protocolos de comunicación a través de la red. Por
último, un Nombre Uniforme de Recursos (URN) es algo que aún está en debate y
que pretende definir un espacio de nombres para etiquetar objetos persistentes.
Un recurso es cualquier cosa distinguible. Por ejemplo, un documento electrónico,
una imagen, un servicio, etc. Un recurso es, básicamente, un concepto que puede
mapearse a una o a varias entidades, y que puede permanecer constante a pesar
de ver alterados sus contenidos.

La razón por la que es necesario uniformizar identificadores, localizadores y


nombres, es la gran cantidad de protocolos usados hoy en día para encontrar y
recuperar recursos en la red. Los sistemas en los que se distribuye toda la
información alcanzable utilizan una variedad de plataformas y formatos en
constante evolución, que, de no ser por los protocolos y convertidores de formato
adecuados, no podrían ofrecer el acceso global que se da hoy en día. Sin embargo,
esto no es posible de realizar al nivel de direcciones y nombres de los objetos, dado
que son usados para identificarlos y distinguirlos. Además, estos nombres y
direcciones son “transmitidos” de las más diversas maneras, desde memorándums
hasta hipertextos, por lo que debe suponerse que estos identificadores tendrán una
larga existencia.

De todas las ideas desarrolladas en este aspecto, aparece una característica común
mapeable a la idea de un “objeto” y su correspondiente
nombre/etiqueta/identificador. De esta manera se puede definir un conjunto de
espacios de nombres en los que se dice que existen los objetos.

URI: Identificadores Universales de Recursos. Corresponden a una forma de


encapsular un nombre en un espacio de nombres registrados, y etiquetarlo con el
espacio de nombres, produciendo un miembro del conjunto universal.

La sintaxis universal permite el acceso a objetos disponibles utilizando protocolos


existentes, y es capaz de ser extendida con el tiempo

URL: Localizadores Uniformes de Recursos. Para los protocolos de acceso a


Internet existentes, en la mayoría de los casos se hace necesario definir la
codificación del algortimo de acceso en algo suficientemente conciso para llamarse
“dirección”. Las URIs que referencian objetos a los que se accede mediante
protocolos existentes se conocen como URLs.

URN: Nombres Uniformes de Recursos. Un URN difiere de una URL en que su


propósito principal es etiquetar persistentemente un recurso con un identificador.
Este identificador es obtenido de un conjunto de espacios de nombres definidos,
cada uno de los cuales tiene establecida su propia estructura de nombres y
procedimientos de asignación. El esquema “urn” se encuentra reservado para
establecer una estandarización de los requerimientos del espacio de nombres URN.

El formato de una URL básica es el siguiente:


Protocolo://host.dominio.dominiodelprimernivel/directorio/recurso

Protocolo. Un protocolo es, básicamente, un lenguaje que utilizan las máquinas


conectadas para comunicarse entre ellas. Con esto le indicamos a la máquina a la
que nos conectamos el protocolo que debe usar. Dependiendo de este,
probablemente tengamos que usar un programa distinto. Cada protocolo utiliza un
puerto (una especie de “entrada” a la máquina) por default, y es a ese al que, en
principio nos conectará al indicarle ese protocolo en la URL.

Host. La palabra Host hace referencia a cualquier clase de máquina conectada a la


red y, por extensión, a su nombre.

Dominio. Se llama dominio al nombre que tiene en Internet una máquina o red de
ellos. Una red puede contener a su vez a otras redes detro de ella (esto es lo que
hace que se llame a Internet “La red de redes”). Si este fuera el caso, podríamos
encontrarnos con nombres como “subred.red.granred.com” que nos indicarían, de
izquierda a derecha, qué red se encuentra dentro de la siguiente.
Dominio de primer nivel. Todos los nombres de dominio, independientemente de
si se refieren a una máquina o a una red de ellas, acaban con el llamado “domino
de primer nivel”. Este es el nombre que indica, en principio, cuál es la ocupación de
la red (como son los casos, por ejemplo, de .com para empresas o actividades
comerciales y .org para organizaciones) o a qué país pertenecen las autoridades
que han otorgado ese nombre (por ejemplo, .es para España, .mx para México o
.de para Alemania).

Directorio. Se utiliza para localizar el archivo concreto, dentro de esa máquina, que
queremos ver.

Recurso. se llama recurso a cualquier cosa que puedas encontrar en una máquina.
Recurso es una página Web, una imagen o un programa para descargar. Pero
también es un recurso el resultado de ejecutar un programa en una máquina remota
o la imagen de una webcam. La mayoría de recursos que se pueden encontrar en
la Web son, evidentemente, páginas.

Los protocolos utilizados más comunes son los siguientes:

FTP. (File Tranfer Protocol). El protocolo FTP es uno de los más utilizados en
Internet, ya que permite transferir archivos entre dos máquinas utilizando una
conexión Internet. El protocolo dispone de una serie de formas estandarizadas por
las que una máquina remota puede crear y cambiar directorios en la máquina local,
así como transferir, copiar, mover y borrar Archivos. En realidad FTP utiliza
comandos de texto plano para indicar las diversas órdenes, pero existen multitud de
programas que simplifican su utilización mediante una interfaz gráfica en la que las
operaciones de transferencia se reducen a procesos de cortar y pegar y en las que
recorrer el árbol de directorios de la máquina remota es tan fácil como utilizar el
navegador en la propia máquina.

SMTP. (Simple Mail Transfer Protocol). Protocolo encargado de transmitir los


mensajes de correo de un servidor a otro. Una vez que los mensajes están en el
servidor de destino se utiliza otro protocolo (POP) para llevarlo a la máquina del
cliente final.

POP. (Post Office Protocol). Es el protocolo que permite a un usuario leer el correo
que llega a su servidor. Es un protocolo para las comunicaciones Servidor a
Usuario. Cuando recibimos un e-mail queda almacenado en el servidor hasta que
conectamos con él mediante el cliente de correo y nos autentificamos
(proporcionamos un nombre de usuario y contraseña correctos). Después de esto
POP es utilizado para transferir los datos desde el servidor al buzón de correo
entrante de nuestra propia máquina. Eventualmente una vez recibida la copia es
posible ordenar al servidor que borre los Archivos originales.

IRC. (Internet Relay Chat). Es un protocolo de comunicación en tiempo real basado


en texto, que permite debates en grupo o entre dos personas y que está clasificado
dentro de la Mensajería instantánea. Es un sistema de charlas ampliamente
utilizado por personas de todo el mundo. Los usuarios del IRC utilizan una aplicación
cliente para conectarse con un servidor, en el que funciona una aplicación IRCd
(IRC Daemon o servidor de IRC) que gestiona los canales y las conversaciones.

Telnet. Es un servicio que permite registrarse en un servidor y acceder a sus


diferentes recursos. Los investigadores aprecian mucho este servicio cuando
buscan información sobre librerías y archivos. Telnet es especialmente importante
en la conexión con información almacenada en macrocomputadoras. El servicio de
Telnet tiene su propio protocolo llamado: Telnet. No es posible buscar un servidor
de Telnet a través de los proveedores de servicios en línea. Para buscar a un
servidor de Telnet, se debe establecer una sesión.
MÉTODOS HTTP DE PERSISTENCIA

Los métodos que utiliza el protocolo http son los siguientes:

1. GET: se utiliza para recuperar el contenido de un recurso estático (página


HTML, imágen, vídeo, etc), o bien ejecutar un programa o script en el servidor
(como programas CGI, páginas ASP, JSP, PHP, etc.). Es la operación más
común, que se lanza cada vez que pulsamos en un enlace y navegamos a
una página web.
2. HEAD: es una operación especial que tan sólo nos recupera información del
recurso, como el tamaño, la fecha de modificación, tipo, etc. Lo suelen utilizar
los navegadores o servidores para comprobar el estado de su caché u otras
operaciones.
3. POST: envía información desde el cliente al servidor web, como pueden ser
los datos de un formulario.
4. PUT: almacena recursos en el servidor.
5. DELETE: borra recursos del servidor.

Uno de los problemas clásicos en el desarrollo de web sites y aplicaciones web es


la perdida de persistencia cuando el usuario pasa de una página a otra. Debido a
las características de diseño del protocolo HTTP que fuerza una nueva conexión y
desconexión por cada request no es posible saber quién está accediendo a que
página o en qué lugar está cada usuario del sitio. Mantener persistencia a lo largo
de la navegación del sitio ha sido uno de los temas más complejos e importantes en
el desarrollo de aplicaciones web.

Uno de los mecanismos más usados para mantener persistencia es el mecanismo


de cookies, inventado por Netscape y hoy en día aceptado por casi todos los
browsers, en especial los más populares. El concepto es que mediante un header
del protocolo HTTP el server pueda almacenar información en el cliente. A esta
información que el server guarda en el cliente se la denomina “cookie”. Las cookies
pueden habilitarse o deshabilitarse desde el browser por lo que algunos usuarios no
lo soportan, son de uso bastante general en muchos sitios web a punto tal que en
algunos sitios si el usuario no tiene habilitadas las cookies prácticamente no puede
utilizar la mayoría de los servicios del sitio. Cuando el server envía un header con
una cookie el browser, si acepta cookies, guarda la información enviada en un
archivo de texto con un formato especial.

Cada vez que el browser solicita una página del dominio que envió la cookie reenvía
la cookie al sitio, de esta forma es posible mantener persistencia. La información
que puede guardarse en una cookie está limitada por lo que habitualmente se utiliza
la misma para mantener el identificador de sesión del usuario almacenándose el
resto de los datos necesarios en el servidor usando la session id de la cookie como
clave.

Los usos más frecuentes de las cookies son:

Llevar el control de usuarios: cuando un usuario introduce su nombre de usuario y


contraseña, se almacena una cookie para que no tenga que estar introduciendo las
para cada página del servidor. Sin embargo, una cookie no identifica a una persona,
sino a una combinación de computadora y navegador.

Ofrecer opciones de diseño (colores, fondos, etc) o de contenidos al visitante.

Conseguir información sobre los hábitos de navegación del usuario, e intentos de


spyware, por parte de agencias de publicidad y otros.

Cuando las cookies han caducado, estas no son enviadas al navegador; por lo tanto,
la caducidad de las cookies puede ser pensada como un límite de tiempo en el que
una de ellas puede ser usadas. La cookie puede luego ser renovada después de
que este límite haya pasado. Algunos sitios prefieren que las cookies caduquen en
tiempos más cortos por razones de seguridad. Las cookies no se envían al
navegador si ellas están bajo estas condiciones:
• Al finalizar una sesión de usuario: por ejemplo, cuando se cierra el navegador
(si esta no es persistente)
• Se ha fijado una fecha de caducidad y esta ha pasado.
• La fecha de caducidad es cambiada a una fecha anterior (por el servidor)

• Esta se borra por orden del usuario.

PROTOCOLO SSL/TLS

El protocolo SSL, "Secure Socket Layer" (en español, capa de puertos seguros), es
el predecesor del protocolo TLS "Transport Layer Security" (Seguridad de la Capa
de Transporte, en español). Se trata de protocolos criptográficos que proporcionan
privacidad e integridad en la comunicación entre dos puntos en una red de
comunicación. Esto garantiza que la información transmitida por dicha red no pueda
ser interceptada ni modificada por elementos no autorizados, garantizando de esta
forma que sólo los emisores y los receptores legítimos sean los que tengan acceso
a la comunicación de manera íntegra.

Considerando un modelo OSI (Arquitectura de redes por capas), el protocolo SSL


se utiliza entre la capa de aplicación y la capa de transporte. Uno de sus usos más
extendidos, es el que se realiza junto al protocolo HTTP, dando lugar al HTTPS o
versión segura de HTTP. Se utiliza para la transferencia de hipertexto (Sitios web)
de manera segura. De esta forma se consigue que la información transmitida entre
un sitio web y un usuario (en ambos sentidos), sea segura, especialmente
importante cuando se trata de información sensible: datos confidenciales,
contraseñas, información bancaria, imágenes personales, etc.

¿Cómo funciona el Protocolo SSL?

En el protocolo SSL se utiliza tanto criptografía asimétrica como simétrica. La


primera se utiliza para realizar el intercambio de las claves, que a su vez serán
usadas para cifrar la comunicación mediante un algoritmo simétrico.
En el caso de los sitios web, para el funcionamiento de este protocolo, lo que se
necesita utilizar es un certificado SSL. El servidor web tendrá instalado uno y cuando
un cliente intente acceder a él, le remitirá el mismo con la clave pública del servidor,
para enviar de esta forma la clave que se usará para realizar la conexión de manera
segura mediante un cifrado simétrico.

Mediante un ejemplo concreto, vamos e explicar cómo funciona el protocolo


SSL/TLS combinado con HTTP, para dar lugar a la versión segura de HTTP o
HTTPS. Para ello, vamos a pasar a detallar paso a paso, lo que sucede cuando un
cliente accede a un sitio web de un servidor con un certificado SSL a través del
protocolo HTTPS:

1. Un usuario realiza una petición HTTP segura a través de un navegador a un


sitio web (HTTPS://www.google.es/)
2. El servidor donde está alojado el sitio web, envía (si lo tiene) el certificado
que incluye la clave pública del servidor. En caso de no tener certificado SSL,
se producirá un error.
3. El navegador comprueba que la entidad emisora del certificado o CA sea de
confianza. En caso contrario, pedirá al usuario que acepte el certificado bajo
su responsabilidad.
4. Llegados a este punto, el navegador generará una clave simétrica, que será
cifrada mediante la clave pública del servidor para ser enviada de manera
segura al mismo.
5. De esta forma, la comunicación ya se ha establecido de manera segura, y
será cifrada en ambos sentidos mediante la clave generada en el punto
anterior.
Integridad de la información

Como se ha descrito al principio, el protocolo SSL/TLS no sólo proporciona


confidencialidad en la información, también garantiza su integridad. Para ello se vale
de un código de autenticación de mensaje (MAC, Message Authentication Code).
Este código se calcula mediante una función hash con una clave secreta que sólo
conocen el emisor y el receptor de la comunicación (el cliente y el servidor). De esta
forma, si un sólo bit de toda la información es modificado, el MAC será totalmente
diferente, y ambas partes podrían saber en ese punto que la información ha sido
modificada.

TECNOLOGÍA DE PROGRAMACIÓN WEB

Lenguajes programación del lado del cliente

Cuando se programa una página web, en la mayoría de los casos se utiliza los que
se conocen como “lenguajes del lado del cliente”. Es decir, que el servidor no
interviene para nada en el proceso de crear la página web solicitada por el usuario.

Los lenguajes utilizados en este caso son el conocido HTML, Java Script o Visual
Basic Script (VBScript), si el navegador a utilizar es Microsoft Internet Explorer.
Las páginas creadas con estos lenguajes son enviadas al usuario, de forma que el
navegador es el encargado de interpretar y mostrarlas por pantalla.

Lógicamente, al ser tecnología de tipo cliente, habrá que prestar especial atención
al navegador utilizado, ya que como ocurre en muchas ocasiones, lo que funciona
con uno puede no hacerlo con otro, aunque todos dicen estar basados en los
estándares del W3C Consortium: Comité de generación de estándares para la Word
Wide Web, similar a la ISO, se encarga de generar versiones estándares de HTML,
SGML(Standard Generalized Mark-up Lenguaje), XML (Extensible Markup
Language), XHTML, las plantillas de estilos CSS (Cascade Style Sheets) etc.,
pueden ocurrir algunos inconvenientes a la hora de la visualización.
LENGUAJES DE PROGRAMACIÓN DEL LADO DEL SERVIDOR

Un lenguaje del lado del servidor es aquel que se ejecuta en el servidor web, justo
antes de que se envíe la página a través de Internet al cliente. Las páginas que se
ejecutan en el servidor pueden realizar accesos a bases de datos, conexiones en
red, y otras tareas para crear la página final que verá el cliente.

Los lenguajes de lado servidor más ampliamente utilizados para el desarrollo de


páginas dinámicas son el ASP, JSP, PERL y PHP.

ASP.NET (Active Server Pages).

Lenguaje comercializado por Microsoft, y usado por programadores para desarrollar


entre otras funciones, sitios web. ASP.NET es el sucesor de la tecnología ASP, fue
lanzada al mercado mediante una estrategia de mercado denominada .NET.

Se desarrollado para resolver las limitantes que brindaba tu antecesor ASP. Para el
desarrollo de ASP.NET se puede utilizar C#, VB.NET o J#. Los archivos cuentan
con la extensión (aspx). Para su funcionamiento de las páginas se necesita tener
instalado IIS con el Framework .Net. Microsft Windows 2003 incluye este framework,
solo se necesitará instalarlo en versiones anteriores.

El lenguaje ASP consiste en una serie de clases .NET utilizadas para crear
aplicaciones Web, tanto del lado cliente (Web Form) como del lado servidor (Web
Service). La integración de nativa .NET Framework con el sistema operativo
Windows Server 2003 hace que su ejecución sea más estable y rápida que otros
lenguajes de programación.

Las páginas creadas con la tecnología ASP.NET funcionan en todo tipo de


navegadores – incluyendo Netscape, Safari y Internet Explorer.

Actualizaciones Dinámicas Soporte de servicios web XML Conexiones del tipo DSN,
o sin utilización de DSN, para acceder a fuentes de datos ODBC.
Ventajas:

• Completamente orientado a objetos.


• Controles de usuario y personalizados.
• División entre la capa de aplicación o diseño y el código.
• Facilita el mantenimiento de grandes aplicaciones.
• Incremento de velocidad de respuesta del servidor.
• Mayor velocidad.
• Mayor seguridad.

Desventajas:

• Mayor consumo de recursos.


• Tecnología propietaria.
• Hospedaje de sitios web costosos

JSP (Java Server Pages)

Es un lenguaje para la creación de sitios web dinámicos. Está orientado a desarrollar


páginas web en Java. JSP es un lenguaje multiplataforma.

JSP fue desarrollado por Sun Microsystems. Comparte ventajas similares a las de
ASP.NET, desarrollado para la creación de aplicaciones web potentes. Posee un
motor de páginas basado en los servlets de Java. Para su funcionamiento se
necesita tener instalado un servidor Tomcat.

Características:

• Código separado de la lógica del programa.


• Las páginas son compiladas en la primera petición.
• Permite separar la parte dinámica de la estática en las páginas web.
• Los archivos se encuentran con la extensión (jsp).
• El código JSP puede ser incrustado en código HTML.

Los elementos que pueden ser insertados en las páginas JSP son los siguientes:

✓ Código: se puede incrustar código “Java”.


✓ Directivas: permite controlar parámetros del servlet.
✓ Acciones: permite alterar el flujo normal de ejecución de una página.

Ventajas:

• Ejecución rápida del servlets.


• Crear páginas del lado del servidor.
• Multiplataforma.
• Código bien estructurado.
• Integridad con los módulos de Java.
• La parte dinámica está escrita en Java.

Desventajas:

• Complejidad de aprendizaje.

PERL (Practical Extraction and Report Language).

Es un lenguaje de programación desarrollado por Larry Wall (lwall at netlabs.com)


inspirado en otras herramientas de UNIX como son: sed, grep, awk, c-shell, para la
administración de tareas propias de sistemas UNIX. No establece ninguna filosofía
de programación concreta. No se puede decir que sea orientado a objetos, modular
o estructurado, aunque soporta directamente todos estos paradigmas; su punto
fuerte son las labores de procesamiento de textos y archivos. Lenguaje de
programación basado en scripts portable a casi cualquier plataforma. Es muy
utilizado para escribir CGIs(Commond Gateway Interface). Uno de sus elementos
más potentes son las expresiones regulares, que a partir de su versión en Perl han
sido adoptadas por otros lenguajes y plataformas como .NET o Javascript.

Ventajas

• Es un buen lenguaje “pegamento”. Se pueden juntar varios programas de


una forma sencilla para alcanzar una meta determinada. Los usuarios de
Windows agradecerán esta propiedad ya que normalmente adolecen de un
buen lenguaje tipo “script”.
• Es relativamente rápido para un lenguaje tipo “script”.
• Está disponible en múltiples plataformas y sistemas operativos (UNIX, Linux
y Windows). Un programa que se escriba teniendo en cuenta la
compatibilidad puede ser escrito en una plataforma y ejecutado en otra.
• El desarrollo de aplicaciones es muy rápido.
• Hay una colección enorme de módulos que pueden ser incorporados a
cualquier “script” de Perl. Están disponibles en el CPAN (“Comprehensive
Perl Archive Network”). En particular existe una extensión para cálculo
numérico denominada PDL.
• Perl es gratuito. Mucho más que eso, es “Software Libre”. Esto quiere decir
que el código fuente está disponible para que cualquiera lo pueda ver o
modificar, y lo que es más importante, siempre lo estará.
• Le otorga al programador mucha libertad para que haga el programa como
quiera. Tal como dice el eslogan de Perl “Hay más de una forma de hacerlo”
Desventajas

• Es lento para algunas aplicaciones, como programación a bajo nivel,


escribiendo un “driver” para una aplicación o corriendo modelos numéricos
de cálculo intensivo. Si bien se pueden insertar subrutinas FORTRAN o C en
Perl, teniendo lo mejor de los dos mundos, pero con algo más de
complejidad.
• La libertad que se le otorga al programador puede significar que el resultado
sea un programa ilegible. Si no se escribe con cuidado puede llegar a ser
difícil de leer. De hecho, hay un concurso de Perl ofuscado.
• Perl es un lenguaje interpretado. Este tema no es tan crítico como suena, los
programas Perl no correrán mucho más rápidos cuando se compilen, la única
ventaja está en la desaparición de la fase inicial de compilación al correr la
aplicación.
• Utiliza muchos recursos de computó. Esto significa que no es tan ligero como
un programa en C, pero en la práctica es ligero comparado con la potencia
de procesamiento de las computadoras actuales.

PHP

PHP es el acrónimo de Hipertext Preprocesor. Es un lenguaje de programación del


lado del servidor gratuito e independiente de plataforma, rápido, con una gran
librería de funciones y mucha documentación. Fue creado originalmente en 1994
por Rasmus Lerdorf, pero como PHP está desarrollado en política de código abierto,
a lo largo de su historia ha tenido muchas contribuciones de otros desarrolladores.

El cliente solamente recibe una página con el código HTML resultante de la


ejecución de la PHP. Como la página resultante contiene únicamente código HTML,
es compatible con todos los navegadores.
Ventajas:

• Muy fácil de aprender.


• Se caracteriza por ser un lenguaje muy rápido.
• Soporta en cierta medida la orientación a objeto. Clases y herencia.
• Es un lenguaje multiplataforma: Linux, Windows, entre otros.
• Capacidad de conexión con la mayoría de los manejadores de base de datos:
MysSQL, PostgreSQL, Oracle, MS SQL Server, entre otras.
• Capacidad de expandir su potencial utilizando módulos.
• Posee documentación en su página oficial la cual incluye descripción y
ejemplos de cada una de sus funciones.
• Es libre, por lo que se presenta como una alternativa de fácil acceso para
todos.
• Incluye gran cantidad de funciones.
• No requiere definición de tipos de variables ni manejo detallado del bajo nivel.

Desventajas:

• Todo el trabajo lo realiza el servidor y no delega al cliente. Por tanto puede


ser más ineficiente a medida que las solicitudes aumenten de número.
• La legibilidad del código puede verse afectada al mezclar sentencias HTML
y PHP.
• La programación orientada a objetos es aún muy deficiente para aplicaciones
grandes.
• Dificulta la modularización.
• Dificulta la organización por capas de la aplicación.

PHP está diseñado específicamente para ser un lenguaje más seguro para escribir
programas CGI que Perl o C, y con la selección correcta de opciones de
configuración en tiempos de compilación y ejecución, y siguiendo algunas prácticas
correctas de programación.
¿Programar con lenguajes del lado servidor o del lado cliente?

El lugar donde se ejecutan los scripts tiene una gran influencia en la estructura de
los proyectos web. Cuantos más scripts se trasladan al ámbito de responsabilidad
del navegador, más ligera es la página o la aplicación web para el servidor y, aunque
esto significa una descongestión importante para el servidor, puede acarrear un
peor rendimiento para el usuario. Por añadidura, los desarrolladores han de
enfrentarse a un alto grado de complejidad si apuestan exclusivamente por un
lenguaje del lado cliente como JavaScript, ya que en este caso han de recrear
muchos mecanismos propios de frameworks más potentes como ASP.NET MVC. Y
eso sin contar que, al usar lenguajes del lado cliente, se espera que el navegador
soporte el lenguaje utilizado con todas sus funciones y de que el usuario no utilice
extensiones de bloqueo.

En consecuencia, para no cargar excesivamente ni a un lado ni al otro, lo idóneo


sería optar por una buena combinación de lenguajes del lado servidor y del lado
cliente y garantizar tiempos de carga razonables con medidas adicionales como el
cacheo de contenidos estáticos y la aplicación de tecnologías modernas como
AJAX, acrónimo de “Asynchronous JavaScript and XML” (JavaScript asíncrono y
XML). Este concepto se utiliza en desarrollo web para transferir datos de forma
asíncrona entre cliente y servidor, lo que significa que el servidor web puede
reaccionar a peticiones del lado cliente casi en tiempo real e intercambiar
información con el navegador sin tener que cargar la página por completo. Un
clásico ejemplo de la implementación de AJAX lo ilustran las sugerencias de
búsqueda de Google (Google Suggest), las propuestas que aparecen
automáticamente en el buscador Google al introducir un término.
SERVICIOS REQUERIDOS PARA LAS APLICACIONES WEB

Independientemente del tipo de aplicacion web (Estaticas, dinamicas, sistemas de


infoemacion, etc) hay siertos quiequisitos o servicios que son necesarios para el
funcionamiento basico de estas.

Servicio de Nombres de Dominio (DNS)

El Servicio de Nombres de Dominio (DNS) es una forma sencilla de localizar un


ordenador en Internet. Todo ordenador conectado a Internet se identifica por su
dirección IP (en IPv4 es una serie de cuatro números de hasta tres cifras separadas
por puntos y en IPv6 es una serie de hasta ocho grupos de cuatro cifras y letras
separadas por el carácter dos puntos). Sin embargo, como a las personas les resulta
más fácil acordarse de nombres que de números, se inventó un sistema (DNS -
Domain Name Server) capaz de convertir esos largos y complicados números,
difíciles de recordar, en un sencillo nombre.

Los nombres de dominio no sólo nos localizan, además garantizan nuestra propia
identidad en la red. Al igual que en el mundo real existen diferentes formas de
identificación como puede ser el DNI, el carnet de conducir, la huella digital, etc. en
Internet el dominio constituye el principal medio de identificación.

En realidad, el servicio de nombres de dominio tiene más usos y mucho más


importantes que el anterior. Por ejemplo, este servicio es fundamental para que el
servicio de correo electrónico funcione.

Un Servidor de Nombres de Domino es una máquina cuyo cometido es buscar a


partir del nombre de un ordenador la dirección IP de ese ordenador; y viceversa,
encontrar su nombre a partir de la dirección IP.
Ejemplo de resolución de nombres

¿Qué es lo que pasa entre un ordenador y el servidor DNS cuando el primero intenta
conectarse con una máquina utilizando el nombre en lugar de la dirección IP?. Sea
"www.site.es" el nombre la máquina con la cual se desea conectar:

1. El ordenador local contacta con su servidor DNS (servidor-uno) (que se tiene


configurado en el ordenador), y le solicita la dirección IP de www.uned.es.
2. El servidor DNS mira en sus tablas de asignación, y si no lo encuentra entre
los datos que guarda con las ultimas peticiones que ha servido, manda una
petición a uno de los "servidores raíz" de Internet el cual averiguará qué
servidor de nombres resuelve el dominio "site.es".
3. El servidor raíz responderá a servidor-uno (servidor DNS del ordenador local)
con la dirección del servidor que resuelve direcciones "uned.es". En este
caso 62.204.192.21.
4. servidor-uno hará una petición a 62.204.192.21, preguntando qué dirección
IP tiene "www.site.es".
5. 62.204.192.21 mira en sus tablas y devuelve la dirección IP de
"www.uned.es" a servidor-uno.
6. servidor-uno manda la dirección IP encontrada al ordenador local que la
usará para conectarse con "www.site.es".

Todo esto pasa en tan solo unos pocos milisegundos (más o menos), por lo que
generalmente no se nota el retraso entre que se escribe la dirección nemotécnica y
se resuelve cuál es su dirección IP.
SERVICIO DE ALOJAMIENTO WEB

El alojamiento web (en inglés web hosting) es el servicio que provee a los usuarios
de Internet un sistema para poder almacenar información, imágenes, vídeo, o
cualquier contenido accesible vía web. Es una analogía de «hospedaje o
alojamiento en hoteles o habitaciones» donde uno ocupa un lugar específico, en
este caso la analogía alojamiento web o alojamiento de páginas web, se refiere al
lugar que ocupa una página web, sitio web, sistema, correo electrónico, archivos
etc. en internet o más específicamente en un servidor que por lo general hospeda
varias aplicaciones o páginas web.

Las compañías que proporcionan espacio de un servidor a sus clientes se suelen


denominar con el término en inglés web host.

Se puede definir como «un lugar para tu página web o correos electrónicos»,
aunque esta definición simplifica de manera conceptual el hecho de que el
alojamiento web es en realidad espacio en Internet para prácticamente cualquier
tipo de información, sea archivos, sistemas, correos electrónicos, videos etc.

Según la aplicación, hay escoger el sistema operativo adecuado para tu servidor

En este punto muchos proveedores te permiten elegir entre Linux y Windows.

Para la mayoría de los usuarios, Linux va a ser la mejor opción. Se considera como
el mejor sistema operativo para servidores web y está muy probado. Para que te
hagas una idea, la Wikipedia, por ejemplo, está montada sobre un sistema de este
tipo.

Si tienes intención de instalar aplicaciones web que usan PHP, Perl, Python, de
utilizar bases de datos MySQL como WordPress o Joomla, Linux es la opción
natural.
La razón de elegir Windows será que quieras instalar aplicaciones basadas en
tecnología Microsoft como ASP.NET y bases de datos SQL Server. En este caso,
en un servidor Linux simplemente no se podrían ejecutar.

Existe una gama bastante extensa de tipos de alojamiento como puedes comprobar
fácilmente en webs de comparativas como, por ejemplo, Hosting Mundo.

Las principales opciones para la enorme mayoría de los usuarios serán las de la
lista siguiente.

Hosting gratuito

Los hostings web gratuitos, aparte del alojamiento de ficheros, suelen incluir las
prestaciones más importantes: acceso vía FTP, correo electrónico y soporte para
aplicaciones PHP. Para que el dominio sea también gratis, suelen ofrecer además
gratis un subdominio del proveedor.

Es decir, por ejemplo, el proveedor de hosting gratuito x10hosting.com asigna


subdominios de “x10.mx”, de modo que para un usuario “pepito”, el dominio del
servidor del usuario sería “pepito.x10.mx”.

Ventajas:

• Interesante para probar y aprender.


• Permite mantener un entorno de desarrollo para un entorno real a coste cero.

Desventajas:

• Las opciones gratuitas suelen tener capacidad de proceso muy pequeña,


poca memoria, severas limitaciones de los recursos como espacio en disco
o la transferencia mensual
• Nivel de servicio de muy baja calidad (muchas caídas y paradas de
mantenimiento). Y es normal, no pretenden ser opciones para webs reales,
sino alojamientos web compartidos (la modalidad que se explica a
continuación) muy “capados” como reclamos para contratar un hosting de
pago con el proveedor en cuestión.

Por las razones anteriores, no son una opción válida para un proyecto real.

Hosting compartido

El hosting compartido es la opción más adecuada para la enorme mayoría de los


usuarios.

Seguramente estemos hablando de que para el 95% o más de los lectores que
lleguen a este post ésta sea la opción de hosting más adecuada. Además, el hosting
compartido también puede ser hosting multidominio.

Como sugiere el nombre, en esta modalidad, varios clientes comparten una misma
máquina. Entre ellos no se ven, cada uno tiene su espacio privado y exclusivo, pero
la carga que generan sus webs en el servidor es compartida y por tanto la carga de
unas webs puede afectar a otras.

Ventajas:

• Por lo general, se adapta muy bien a las necesidades de uso personal (por
ejemplo, un blog) y profesionales y pequeños negocios.
• Esta opción es que resulta muy económica y, con un buen proveedor se
pueden conseguir prestaciones realmente buenas por poco dinero. A veces
se le llama también hosting barato (muchas veces con connotaciones
despectivas) precisamente por ser muy económico.
• Una cuenta de un proveedor de calidad aguanta mucho tráfico, más que
suficiente para la gran mayoría de los casos.
• Un buen servicio de hosting ya suele ofrecer una disponibilidad muy
razonable, es normal que se garantice una disponibilidad del 99,9% (el
servidor se encuentra caído como máximo el 0,1% del tiempo)
Desventajas:

• El principal problema del hosting compartido es que abundan proveedores


poco serios que apuran tanto el número de clientes y recursos asignados que
acaban con servidores completamente infra dimensionados.
• Debido a lo anterior, es frecuente encontrarse con problemas de lentitud,
incapacidad para absorber picos de tráfico altos, inestabilidad (caídas
frecuentes y largas), etc.

En definitiva, si un servidor compartido, si el proveedor mantiene una holgura sana


en el dimensionamiento del servidor, tu web va a ser capaz de aguantar mucho
tráfico, incluidos picos de tráfico excepcionales.

Pero mucho cuidado con el proveedor, especialmente en esta modalidad que es de


bajo coste, hay un mundo diferencia entre unos y otros y, por tanto, resulta
especialmente importante elegir bien tu proveedor.

Hosting VPS (Virtual Private Server)

En la modalidad de hosting VPS el servicio consiste en poner a disposición del


cliente un servidor exclusivo (privado), pero no como máquina física, sino como
máquina virtual, con diferentes niveles de recursos (potencia de procesador,
memoria, etc.) entre los cuales el cliente puede elegir el nivel que necesita para su
caso concreto.

Ventajas:

• Es un esquema muy flexible, capaz de adaptarse rápido a la demanda ya


que ante mayores necesidades de recursos el proveedor puede “abrir el grifo”
de recursos inmediato (implica lógicamente un cambio de tarifas).
• Al no estar compartido el servidor, no se puede ver comprometido por picos
de actividad de otros clientes.
• Es una solución más profesional puesto que viene unida a un mayor control
del servidor de hosting o la posibilidad de poder crear varios espacios
independientes de hosting que funcionan como varias cuentas de hosting
compartido dentro del servidor VPS.
• Con un único servicio de hosting puedes alojar sitios web diferentes como
cuentas de hosting diferenciadas y adaptadas a diferentes necesidades.

Desventajas:

• Aumento sensible del precio.


• Una cosa que mucha gente no sabe es que las prestaciones de los VPS
básicos, a pesar de sus tarifas mayores, en sus niveles básicos suelen ser
inferiores a las prestaciones de un hosting compartido de calidad. Esto es así
porque un hosting compartido de calidad ya ofrece unas prestaciones
considerables en cuanto a recursos, simplemente no garantiza que éstas
estén disponibles en todo momento para tu web, cosa que sí garantiza un
hosting VPS.
• Una mayor complejidad técnica de administración del servidor, normalmente
sólo al alcance de personas con buenos conocimientos técnicos. El objetivo
de un servicio VPS no consiste únicamente en mayores prestaciones y
garantía de servicios, sino que uno de las prestaciones más importantes por
las que se paga con este servicio es el mayor control sobre el servidor.

Como puedes ver, sobre todo, en estos últimos puntos, el hosting VPS ya tiene una
orientación mucho más profesional. Realmente la razón de contratar un VPS no es
tanto aguantar más tráfico, sino tener más libertad para hacer lo que quieras con tu
servidor. Es decir, es una opción para perfiles muy técnicos, no muy adecuada para
usuarios «normales».
Hosting especializado/gestionado (ejemplo WordPress)

Con la popularidad de determinadas aplicaciones como WordPress ha ido cobrando


también fuerza la opción de un hosting especializado, especialmente el hosting
especializado en WordPress, aunque también son muy populares los hostings
especializados para Joomla, Prestashop y Magento dada la gran popularidad de
estas aplicaciones.

Lo que pretenden estos servicios es ir un paso más allá de un hosting «puro» y


ofrecer un soporte integral que no se limita a los servidores en sí, sino que incluye
también el soporte técnico para garantizar el correcto funcionamiento de estas
aplicaciones.

Dentro de esto el hosting gestionado es el «tope de gama» en servicio porque ya


no es simplemente soporte, sino administración proactiva de la aplicación en
cuestión. Es decir, ellos te administran el hosting y la aplicación (sus
actualizaciones, parches, configuración de seguridad, solucionar problemas, etc.).
Es un servicio «llave en mano» el cual pretende que te puedas olvidar de los
problemas del hosting y la aplicación y centrarte en los contenidos de tu sitio.

Ventajas:

• Estos servicios se encuentran optimizados para la aplicación en cuestión.


• Te quitan la carga de tener que lidiar con las tareas más pesadas y complejas
para alguien no técnico como la instalación inicial, mantenimiento y seguridad
de tu aplicación (en diferentes grados, según el nivel de servicio contratado).
• Al ser especialistas en la aplicación, conocen las “cosquillas” de cada
aplicación (en el caso de WordPress, por ejemplo, cosas como plugins
conflictivos o cómo optimizar su rendimiento lo más posible).
• Lo anterior redunda en definitiva en un funcionamiento mejor de la aplicación
web (velocidad, estabilidad, seguridad…) y menos trabajo para el dueño del
sitio web.
Desventajas:

• La principal desventaja de este tipo de hosting es que en el caso de los


gestionados aumenta el precio sensiblemente.

Cloud hosting

El cloud hosting (hosting en la nube) es una opción relativamente reciente y muy


interesante.

Se trata de una evolución del hosting tradicional que usando tecnologías propias de
la nube reparte el servicio prestado entre varias máquinas físicas. En este modelo
es también muy típica la tarificación por consumo (potencia de procesamiento
consumida, etc.)

Ventajas:

• Las ventajas propias del concepto de cloud hosting: sobre todo, seguridad
(disponibilidad por redundancia) y una gran flexibilidad para crecer fácilmente
ante una mayor demanda (escalabilidad).
• Existe una oferta con muy buena relación calidad/precio (por ejemplo, el
proveedor Gigas)
• Debido a la flexibilidad inherente del concepto es un hosting capaz de
adaptarse de manera muy rápida y sencilla a las necesidades cambiantes
del usuario.

Desventajas:

• Las opciones de entrada suelen tener un precio más elevado que las
opciones de hosting compartido.
SERVICIO DE GESTIÓN DE DATOS

Hoy en día la utilización de bases de datos es algo fundamental en cualquier


aplicación, y por lógica su uso se ha extendido en las empresas, tanto offline como
online. Las aplicaciones web y de escritorio las usan para escribir, modificar y
recuperar información de forma rápida.

Al comenzar a trabajar con bases de datos nos enfrentaremos a un concepto nuevo,


el cual se conoce como servidor de base de datos.

¿Qué es un Servidor de Base de Datos?

Un servidor de base de datos, también conocido como database server o RDBMS


(Relational DataBase Management Systems) en caso de bases de datos
relacionales, es un tipo de software de servidor que permiten la organización de la
información mediante el uso de tablas, índices y registros.

A nivel de hardware, un servidor de base de datos es un equipo informático


especializado en servir consultas a clientes remotos o locales que solicitan
información o realizan modificaciones a los registros y tablas que existen dentro de
las bases de datos del sistema (en muchos casos desde un servidor web o de
aplicaciones).

Las bases de datos que existen dentro, sirven para gestionar y administrar inmensas
cantidades de información, como sucede en casos de empresas, instituciones,
universidades o bancos, que almacenan datos de usuarios/clientes tales como
direcciones, teléfonos, emails, ingresos, egresos, calificaciones, etc.

El origen de los servidores de bases de datos data de casi 60 años, cuando


surgieron en la década de 1960 para comenzar a dar soluciones de manejo y
administración de volúmenes de datos a grandes empresas.

Más tarde, estos datos comenzaron a compartirse a través de lo que se denomina


como cliente de base de datos.
Funciones de un Servidor de Base de Datos

Si vamos a la función fundamental de un servidor de base de datos, encontraremos


que es el servicio que provee de información a otras aplicaciones web o
equipos/hosts, tal como se especifica en el modelo cliente servidor.

Mediante el uso de un cliente de base de datos, se puede acceder a la información


que se guarda en las diferentes bases de datos. Una vez el cliente ha accedido
mediante un usuario, contraseña y nombre de host, se le permiten realizar diferentes
tareas, dependiendo del nivel de privilegios que posea.

Algunos usuarios tienen privilegios de administrador y pueden administrar por


completo las bases de datos a las que se conectan, mientas que otros usuarios
tienen privilegios parciales para solo leer datos (hacer consultas de lectura, también
llamado SELECT).

Los motores de bases de datos modernos permiten simultaneidad de consultas, lo


que significa que un usuario puede escribir en determinada tabla, mientras que otro
hace lectura de datos, o también escribe al mismo tiempo, todos desde diferentes
lugares geográficos incluso.

Una vez que el cliente de base de datos termina la consulta, la conexión con el
server finaliza.

La disponibilidad de la base de datos depende directamente de que el hardware y


software de base de datos funcione de forma correcta.

Por ejemplo, si hay un fallo en la RAM o CPU del hardware que soporta el servidor,
seguramente no podrán acceder. O bien si hay un fallo que impide que el servidor
SQL inicie correctamente, el servicio también se verá afectado.
Ejemplos de Servidor de Bases de Datos

MySQL server

MySQL ha sido desde hace décadas el líder indiscutido de bases de datos utilizadas
en desarrollo web y de aplicaciones que utilizan lenguajes populares como PHP,
Ruby o Python.

Es un servidor de bases de datos de tipo relacional, es considerada por muchos


como la base de datos más popular del mundo.

Se caracteriza por la ejecución de tareas en simultáneo tanto lectura como escritura.


Además, es software libre licenciado bajo GNU/GPL, ofrece gran velocidad de
acceso a los datos y soporta múltiples motores de almacenamiento como MyISAM
e INNODB.

Permite uso de índices, múltiples transacciones, balanceo de carga, clustering,


backups en caliente, etc.

PostgreSQL server

PostgreSQL es un servidor de bases de datos de tipo relacional, open source y


orientado a objetos licenciado bajo la licencia PostgreSQL.

Tras MYSQL es una de las opciones más elegidas, sobre todo en entornos
empresariales y gubernamentales donde la seguridad de los datos es algo
primordial.

Se caracteriza por ofrecer una gran estabilidad, robustez y velocidad a la hora de


administrar los datos.

Otra razón por la que es muy elegido entre bancos e instituciones financieras es
debido a su excelente forma de manejar grandes volúmenes de datos y alta
simultaneidad de usuarios.
Microsoft SQL Server

Microsoft SQL Server es el servidor de base de datos SQL relacional de Microsoft.


Es muy popular entre usuarios de la plataforma Windows Server, debido a que
ofrece una compatibilidad nativa con el lenguaje de programación ASP/ASP.NET,
así como con toda la suite de desarrollo de aplicaciones de sistemas operativos
Windows.

Ofrece soporte de procedimientos almacenados, transacciones, administración


mediante una interfaz gráfica (GUI), uso de comandos DML y DDL, uso de servidor
remoto, y también ofrece una interfaz de comandos llamada osql o SQLCMD.

MongoDB server

MongoDB es a diferencia del resto de las opciones, el motor de base de datos


NoSQL orientado a documentos más popular del mundo.

Es software libre, y a diferencia de MySQL, PostgreSQL y los demás, no guarda


datos en tablas, sino en estructuras BSON (muy parecidas a JSON) dinámicas, algo
que hace que su acceso sea rápido y fácil.

Se caracteriza por ser multiplataforma, corriendo sin problemas en Windows, Linux,


MacOS y Solaris.

Otras funciones que ofrece son indexación, replicación de datos, balanceo


inteligente de carga, almacenamiento de archivos, agregación de datos (similar al
GROUP BY de SQL), configuración de privilegios de usuarios y encriptación por
SSL/TLS.

Es especialmente útil cuando se necesita una inmediatez de datos, acceso rápido,


y recuperación ante fallas de forma instantánea.

También podría gustarte

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy