Fundamentos de Protocolos Web y Transferencia de Archivos: HTTP, SSL y FTP

Conceptos Fundamentales de la Web

  • Página Web: Archivo escrito en lenguaje de marcas que contiene hipervínculos y enlaces.
  • Sitio Web: Conjunto de páginas web y archivos relacionados en internet bajo un nombre DNS específico.
  • Características del Software: Tipo de software (libre, propietario), recursos que consume, control de acceso y seguridad en transmisiones.
  • URL: Secuencia de caracteres con un formato específico para localizar un recurso en internet.

Protocolo HTTP

El Protocolo HTTP es el conjunto de reglas que permite la comunicación entre páginas web y el usuario. Se basa en un modelo cliente-servidor, donde el navegador actúa como cliente y el servidor web almacena la información de las páginas.

Características de HTTP

  • Arquitectura cliente-servidor.
  • Protocolo a nivel de aplicación.
  • Servidor en el puerto 80.
  • Cliente en un puerto superior a 1000.
  • Conexión TCP cliente-servidor.

Mensajes HTTP

Una sesión HTTP ocurre cuando el cliente se conecta al servidor para descargar una página web. Los mensajes están en formato ASCII y tienen cuatro campos:

  1. Línea de petición: Contiene información principal sobre la petición.
  2. Encabezados: Información adicional sobre el mensaje.
  3. Línea vacía: Campo vacío con un «enter».
  4. Cuerpo del mensaje: Envía la información que buscamos.

Mensajes de Petición

Enviados del cliente al servidor. La línea de petición contiene el método de petición, la dirección URI y la versión de HTTP.

  • Método: GET o POST.
  • Dirección URI: Ubicación del recurso en la red.
  • Líneas de encabezados: Contenido de la página.
  • Cuerpo de petición: En GET está vacío; en POST envía información al servidor.

Métodos y Encabezados de los Mensajes de Petición

  • GET: Se usa al clicar enlaces.
  • POST: Se usa al enviar formularios en una página web.
  • HEAD: Para verificar si una página se ha usado en el servidor.

Mensajes de Respuesta

Son enviados del servidor al cliente en respuesta a una petición. Constan de:

  • Línea de petición.
  • Líneas de encabezados.
  • Línea vacía.
  • Cuerpo de mensaje.
  • Código de respuesta: Valor numérico que indica si se ha procesado o no.
  • Descripción: Breve explicación del código.

Servidores Web Principales

  • Apache: El más usado, multiplataforma, software libre y gratuito.
  • Microsoft IIS: Software propietario exclusivo para Windows.
  • Tomcat: Trabaja con páginas que Apache no puede; funciona como Apache sumando el trabajo de un servidor de aplicaciones.

Protocolo SSL (Secure Sockets Layer)

Se utiliza para obtener comunicación de forma segura mediante varios algoritmos de encriptación y autenticación. Ofrece las siguientes ventajas:

  • Privacidad.
  • Integridad.
  • Autenticación.
  • No repudio.

Entidad Certificadora

Certifica la autenticidad de certificados emitidos por entidades de confianza. Cuando un usuario entra en una página segura, el servidor manda un certificado para aprobar el envío de la información sin ser interceptada por terceros.

Administración de Apache en Linux

Para instalar: (sudo) apt-get install apache2.

  • Ruta: /etc/init.d/apache2
  • Comprobar estado: service apache2 status
  • Detener: service apache2 stop
  • Iniciar: service apache2 start
  • Reiniciar: service apache2 restart
  • Fichero de Configuración: /etc/apache2/apache2.conf
  • Directorio Raíz: /var/www

Protocolo FTP (File Transfer Protocol)

Protocolo de nivel de aplicación que establece una conexión cliente-servidor para transferir archivos (bajar, subir, borrar). No es seguro, ya que transmite información en texto plano y contraseñas sin encriptar. La solución es tunelizar conexiones FTP sobre conexiones seguras bajo el protocolo SSL.

Funcionamiento de FTP

Se basa en el modelo cliente/servidor. Cuando el usuario inicia conexión con un servidor FTP desde el cliente, se autentica. Los usuarios acceden a directorios según sus permisos.

  • Directorios remotos: Directorios que el servidor FTP pone a disposición del cliente.
  • Archivos remotos: Archivos dentro de dichos directorios.
  • Directorios y archivos locales: Los pertenecientes al equipo del cliente.

Pasos de la Conexión FTP

  1. El usuario inicia el cliente FTP y solicita conexión con el servidor.
  2. El cliente envía comandos u órdenes FTP al servidor.
  3. El servidor procesa comandos, realiza acciones y manda respuestas al cliente.
  4. Si la acción es transferencia de archivos, se inicia el proceso de transferencia de datos.

Comandos FTP

  • De control de acceso: Para autenticar al usuario.
  • De parámetros de transferencia: Especifican puertos y modos de conexión.
  • De servicio FTP: Realizan acciones sobre directorios y archivos remotos (subir, bajar, crear y eliminar).

Conexión de Control y Datos

Existen dos tipos de conexiones: de control y de datos.

Modos de Conexión del Cliente

Los servidores FTP usan el puerto TCP 21 para recibir comandos y enviar respuestas. El cliente abre un puerto superior a 1024 para cada conexión de control.

  • Modo Activo: Se usa un puerto >1024 en el ordenador y el 21 en el servidor. Para bajar archivos, el servidor inicia la transferencia desde el puerto 20 al ordenador.
  • Modo Pasivo: El cliente inicia la conexión. Se usa un puerto >1024 en el cliente y el 21 en el servidor. El cliente solicita el modo pasivo y el servidor abre un puerto >1024 para la transferencia.

Tipos de Transferencia

  • ASCII: Transferencia de archivos con caracteres imprescindibles.
  • Binaria: Para archivos comprimidos, ejecutables, imágenes, etc.

Servidores y Clientes FTP

Servidores FTP

  • Microsoft FTP Server: Integrado en sistemas Windows.
  • vsftpd (Linux): Seguro, fácil de instalar y enfocado en eficiencia.
  • FileZilla Server: Para Windows, destaca por la configuración de cuentas y grupos de usuario.

Clientes FTP

  • FileZilla Client: Disponible para Windows y Linux.
  • SmartFTP: Para Windows, con interfaz gráfica y opciones de configuración.
  • CuteFTP: Para Windows, con una interfaz sencilla.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.