Programacion web
yudai11 de Febrero de 2014
4.427 Palabras (18 Páginas)399 Visitas
Sección 1 PROGRAMACIÓN WEB
1.1 Definición
La programación web es un nuevo paradigma, dado que impone ciertas restricciones que pueden resultar confusas en un principio. Estas restricciones se basan en que Internet (al menos hasta ahora) trabaja sobre el protocolo HTTP (Hy- perText Transfer Protocol). Cada vez que escribimos en un navegador http://di- reccion.web.com, estamos indicándole explícitamente que se conecte usando dicho protocolo. Si no lo escribimos, por lo general el navegador se encarga de rellenarlo automáticamente, aunque los navegadores a menudo también implementan otros tipos de comunicaciones entre ellos y un servidor.
Por ejemplo, Internet Explorer y Firefox soportan comunicaciones de tipo FTP (File Transfer Protocol), que es un protocolo para la transferencia de archivos. Para acceder a un determinado recurso mediante ese otro protocolo, basta con escribir la dirección en el navegador (por ejemplo, ftp://ftp.uba.ar) y éste sabrá automática- mente que debe establecer una conexión con el servidor mediante el protocolo FTP.
La programación web entonces, consiste en escribir programas que, dada una petición web realizada por un cliente (un navegador), procesen el pedido y generen y devuelvan un resultado.
Como en todo proceso de desarrollo de software, hay mucho de reutilización. Podremos ver que, por ejemplo, la parte de recibir el pedido y enviar la respuesta por lo general no cambia, solamente cambia la lógica de negocios de cada pedido y el contenido de la respuesta generada. [1]
Sección 2 Protocolos TCP/IP
El concepto de protocolo implica que la transferencia de información se hace en la misma forma en cada ordenador, de tal modo que la información que uno envía, el otro la pueda interpretar cuando la recibe. E l conjunto de normas establecidas para la transferencia de información es un protocolo. Todos los ordenadores actuales se comunican entre si siguiendo lo que se conoce como pila de protocolos TCP/IP. Esta pila abarca diversos protocolos que los equipos informáticos emplean según el tipo de información que transfieran entre ellos. [2]
Sección 3 PROTOCOLO HTTP
3.1 Definición:
Hypertext Transfer Protocol o HTTP (en español protocolo de transferencia de hipertexto) es el protocolo usado en cada transacción de la World Wide Web. Es un protocolo orientado a transacciones y sigue el esquema petición-respuesta entre un cliente y un servidor. Al cliente que efectúa la petición (un navegador web o un spider) se lo conoce como "user agent" (agente del usuario). A la información transmitida se la llama recurso y se la identifica mediante un localizador uniforme de recursos (URL). Los recursos pueden ser archivos, el resultado de la ejecución de un programa, una consulta a unabase de datos, la traducción automática de un documento, etc. [2]
3.2 Características
• Es un protocolo orientado a transacciones y sigue el esquema petición-respuesta entre un cliente y un servidor. Al cliente que efectúa la petición (un navegador web o un spider) se lo conoce como "user agent" (agente del usuario). A la información transmitida se la llama recurso y se la identifica mediante un localizador uniforme de recursos (URL). Los recursos pueden ser archivos, el resultado de la ejecución de un programa, una consulta a unabase de datos, la traducción automática de un documento, etc.
• HTTP es un protocolo sin estado, es decir, que no guarda ninguna información sobre conexiones anteriores.
• este protocolo es poco seguro, ya que la información que maneja puede ser interceptada y leída sin problema.
• utiliza tres tipos de mensajes para enviar la información y recibirla del navegador: get, post y put.[3][4]
Sección 4 Protocolo FTP
FTP (File Transfer Protocol o Protocolo de Transferencia de Archivos) es un protocolo que permite la transferencia de archivos entre dos ordenadores. Actualmente el servicio FTP está definido en el RFC959, pero también tiene relación los siguientes:
RFC-1123 Requerimientos para Host.
RFC-1579 Cortafuegos en FTP.
RFC-1635 Como usar FTP anónimo.
RFC-2151 Herramientas TCP/IP.
RFC-2228 Extensiones de seguridad para FTP.
RFC-2383 Características en los mecanismos de negociación FTP.
RFC-2428 Extensiones para IPv6 y NAT.
RFC-2585 X.509 Para FTP and HTTP.
RFC-2640 Internacionalización Del FTP.
Como se basa en la arquitectura Cliente/Servidor, es necesario el uso de dos programas:
• Un cliente FTP que se encarga de la conexión, y de descargar o subir archivos al servidor. Algunos ejemplos de cliente son: Filezilla, CuteFTP, Ipswitch WS_FTP, SmartFTP, AceFTP, NICOFTP, el comando ftp de la consola…
• Un servidor que ejecuta las peticiones de los clientes FTP, Algunos ejemplos de servidor son: Filezilla Server, Cerberus FTP Server, VSFTPD, PROFTPD, Gftp, FireFTP(Integrado con Firefox)….
El cliente establece la conexión con el servidor através del puerto 21 para el canal de control, y el servidor crea el canal de datos en el puerto 20. El tráfico entre el cliente y el servidor no está codificado, así que cualquier hacker utilizando un sniffer podrá capturar el nombre de usuario y clave utilizada. Para evitarlo existen aplicaciones como scp y sftp.
Cuando un cliente quiere conectarse a un servidor FTP necesita los siguientes datos:
Nombre del servidor. Es la IP o nombre del servidor FTP.
Puerto. Número del puerto del servidor. Por defecto es 21.
Cuenta de Usuario. Nombre de la cuenta de usuario. Hay sitios que permiten la conexión anónima utilizando el nombre de usuario anonymus.
Clave de acceso. Contraseña. [4]
Sección 5 ARQUITECTURA CLIENTE SERVIDOR
5.1 Definición y funcionamiento
La arquitectura cliente-servidor es un modelo de aplicación distribuida en el que las tareas se reparten entre los proveedores de recursos o servicios, llamados servidores, y los demandantes, llamados clientes. Un cliente realiza peticiones a otro programa, el servidor, quien le da respuesta.
La separación entre cliente y servidor es una separación de tipo lógico, donde el servidor no se ejecuta necesariamente sobre una sola máquina ni es necesariamente un sólo programa. Los tipos específicos de servidores incluyen los servidores web, los servidores de archivo, los servidores del correo, etc. Mientras que sus propósitos varían de unos servicios a otros, la arquitectura básica seguirá siendo la misma.
Una disposición muy común son los sistemas multicapa en los que el servidor se descompone en diferentes programas que pueden ser ejecutados por diferentes computadoras aumentando así el grado de distribución del sistema.
La arquitectura cliente-servidor sustituye a la arquitectura monolítica en la que no hay distribución, tanto a nivel físico como a nivel lógico.
5.2 Características
En la arquitectura C/S el remitente de una solicitud es conocido como cliente. Sus características son:
• Es quien inicia solicitudes o peticiones, tienen por tanto un papel activo en la comunicación (dispositivo maestro o amo).
• Espera y recibe las respuestas del servidor.
• Por lo general, puede conectarse a varios servidores a la vez.
• Normalmente interactúa directamente con los usuarios finales mediante una interfaz gráfica de usuario.
• Al contratar un servicio de redes, se debe tener en cuenta la velocidad de conexión que le otorga al cliente y el tipo de cable que utiliza , por ejemplo : cable de cobre ronda entre 1 ms y 50 ms.
Al receptor de la solicitud enviada por el cliente se conoce como servidor. Sus características son:
• Al iniciarse esperan a que lleguen las solicitudes de los clientes, desempeñan entonces un papel pasivo en la comunicación (dispositivo esclavo).
• Tras la recepción de una solicitud, la procesan y luego envían la respuesta al cliente.
• Por lo general, aceptan conexiones desde un gran número de clientes (en ciertos casos el número máximo de peticiones puede estar limitado).
• No es frecuente que interactúen directamente con los usuarios finales.
..[5]
Sección 6 Arquitectura distribuida
Un sistema distribuido está constituido por un conjunto de equipos y plataformas que se comportan como una única máquina ante sus usuarios.
Esta definición muestra que el concepto de distribución no es un concepto lógico sino físico. Las mismas funciones que se realizan en un sistema centralizado o “stand-alone” sobre una única máquina, se realizan, en un sistema distribuido, en máquinas diferentes.
Sobre esta arquitectura física. Se pueden encontrar dos tipos de arquitecturas lógicas:
• Cliente/Servidor.
• Internet Computing.
Una arquitectura distribuida incluye:
Múltiples componentes de procesamiento de propósito general. Pueden asignare tareas específicas a los sistemas de procesamiento sobre una base dinámica los sistemas no necesitan ser de una misma marca o tamaño.
Sistema operativo de alto nivel. Los nodos de procesamiento individual tienen su propio sistema operativo, el cual está diseñado para el ordenador específico. Pero también hay un sistema operativo que los enlaza e integra al control de los componentes distribuidos.
Distribución física de los componentes. Los ordenadores y otras unidades de procesamiento están separadas
...