MiniProyecto 2- HTTPS

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

Universidad Tecnológica de Panamá

Facultad de Sistemas
Departamento de Arquitectura y Redes de Computadoras
Arquitectura de Protocolos
I Semestre 2024

Profesora: Kathya Hart

Servidor de Páginas web

Parte 1. Conteste las siguientes Preguntas de forma detallada.

1. ¿En qué consiste HTTP? ¿y HTTPS? ¿Qué puertos y protocolo en la capa de transporte
utilizan?
 HTTP (Hypertext Transfer Protocol)
 Descripción: HTTP es un protocolo de la capa de aplicación utilizado para la
transferencia de documentos hipermedia, como páginas web, a través de la World
Wide Web. Fue diseñado para ser simple y rápido, permitiendo la comunicación
entre clientes (navegadores web) y servidores web.

 Funcionalidad:
o Los clientes envían solicitudes HTTP a los servidores, que responden con
los datos solicitados (como documentos HTML, imágenes, etc.).
o Utiliza métodos como GET, POST, PUT, DELETE, entre otros, para definir la
acción que se desea realizar.
 Puerto y Protocolo de Transporte:
o Puerto: 80
o Protocolo de Transporte: TCP (Transmission Control Protocol)ç

 HTTPS (Hypertext Transfer Protocol Secure)


 Descripción: HTTPS es una versión segura de HTTP. Utiliza una capa adicional
de seguridad mediante el uso de SSL (Secure Sockets Layer) o TLS (Transport
Layer Security) para cifrar los datos transmitidos entre el cliente y el servidor.
Esto garantiza la confidencialidad e integridad de la información.

 Funcionalidad:
o Proporciona autenticación del servidor y, opcionalmente, del cliente.
o Encripta los datos durante la transmisión para protegerlos contra
interceptaciones y ataques de intermediario.
 Puerto y Protocolo de Transporte:
o Puerto: 443
o Protocolo de Transporte: TCP (Transmission Control Protocol)
2. Dibuja el esquema de una red donde hay un servidor de HTTP sirviendo páginas a los
ordenadores de la intranet. Dicho servidor HTTP se comunica con un servidor SQL de bases
de datos para resolver páginas dinámicas ASP o PHP.

3. ¿Cuál és la sintaxis de la instrucción GET del protocolo HTTP? ¿Qué otras instrucciones
existen en dicho protocolo?
 La instrucción GET se utiliza para solicitar un recurso específico del servidor. Su
sintaxis básica es la siguiente:
 GET /ruta-del-recurso HTTP/1.1
Host: nombre-del-servidor
 Otras Instrucciones en el Protocolo HTTP. Además de GET, HTTP define varios
métodos de solicitud, cada uno con un propósito específico:
 HEAD /ruta-del-recurso HTTP/1.1
Host: nombre-del-servidor
 POST /ruta-del-recurso HTTP/1.1
Host: nombre-del-servidor
Content-Type: tipo-de-contenido
Content-Length: longitud-del-contenido
 PUT /ruta-del-recurso HTTP/1.1
Host: nombre-del-servidor
Content-Type: tipo-de-contenido
Content-Length: longitud-del-contenido
 DELETE /ruta-del-recurso HTTP/1.1
Host: nombre-del-servidor
 CONNECT servidor-destino:puerto HTTP/1.1
Host: nombre-del-servidor
4. En la petición de una página web mediante el protocolo HTTP, ¿qué tipos de respuestas
son las indicadas por los códigos 1xx, 2xx, 3xx, 4xx y 5xx?

Tipos de Respuestas HTTP Indicadas por los Códigos de Estado


El protocolo HTTP utiliza códigos de estado para indicar el resultado de una solicitud. Estos
códigos se agrupan en cinco clases según el primer dígito:

 1xx: Respuestas Informativas


Indican que la solicitud fue recibida y el proceso está en curso.

 100 Continue: El servidor ha recibido la solicitud inicial y el cliente debe


continuar enviando el cuerpo de la solicitud.
 101 Switching Protocols: El servidor está de acuerdo en cambiar los protocolos
según lo solicitado por el cliente.
 102 Processing (WebDAV): El servidor ha recibido la solicitud y está en
proceso, pero no hay respuesta disponible aún.
 2xx: Respuestas Exitosas
Indican que la solicitud fue recibida, entendida y aceptada correctamente.
 200 OK: La solicitud ha tenido éxito. El contenido de la respuesta depende del
método utilizado en la solicitud.
 201 Created: La solicitud ha tenido éxito y se ha creado un nuevo recurso.
 202 Accepted: La solicitud ha sido aceptada para procesamiento, pero no se ha
completado aún.
 204 No Content: La solicitud ha tenido éxito, pero no hay contenido que
devolver.
 3xx: Redirecciones
Indican que se debe tomar una acción adicional para completar la solicitud.

 301 Moved Permanently: El recurso solicitado se ha movido de forma


permanente a una nueva URL.
 302 Found (o Moved Temporarily): El recurso solicitado se encuentra
temporalmente en una URL diferente.
 303 See Other: El cliente debe realizar una nueva solicitud GET a una URL
diferente.
 304 Not Modified: El recurso no ha sido modificado desde la última solicitud.
 307 Temporary Redirect: La solicitud debe repetirse con otra URL, pero
utilizando el mismo método.
 308 Permanent Redirect: El recurso se ha movido permanentemente a una
nueva URL, con el mismo método de solicitud.
 4xx: Errores del Cliente
Indican que hubo un error en la solicitud realizada por el cliente.

 400 Bad Request: La solicitud no pudo ser entendida o estaba mal formada.
 401 Unauthorized: La solicitud requiere autenticación. El cliente debe
autenticarse para obtener la respuesta solicitada.
 403 Forbidden: El servidor entiende la solicitud, pero se niega a autorizarla.
 404 Not Found: El recurso solicitado no se encuentra disponible en el servidor.
 405 Method Not Allowed: El método utilizado en la solicitud no está permitido
para el recurso solicitado.
 408 Request Timeout: El servidor agotó el tiempo de espera para recibir la
solicitud completa del cliente.
 5xx: Errores del Servidor
Indican que el servidor falló al cumplir con una solicitud válida.
 500 Internal Server Error: El servidor encontró una condición inesperada que
le impidió completar la solicitud.
 501 Not Implemented: El servidor no reconoce el método de solicitud o no
tiene la capacidad para cumplirla.
 502 Bad Gateway: El servidor, actuando como puerta de enlace o proxy,
recibió una respuesta inválida del servidor de respaldo.
 503 Service Unavailable: El servidor no está disponible temporalmente,
generalmente debido a mantenimiento o sobrecarga.
 504 Gateway Timeout: El servidor, actuando como puerta de enlace o proxy,
no recibió una respuesta a tiempo del servidor de respaldo.
 505 HTTP Version Not Supported: El servidor no soporta la versión del
protocolo HTTP utilizada en la solicitud.
5. En el protocolo HTTP ¿Cuáles son los cinco campos que te parecen más importantes en los
"headers" de la petición de una página web y de la respuesta?
 Campos Importantes en los Headers de una Petición HTTP
 Host
 User-agent
 Accept
 Content-type
 Autorization
6. ¿Viene algún software de servidor de HTTP con Windows Server? ¿Desde dónde se instala
y desde dónde se administra? ¿Y para Windows no server?
 IIS (Internet Information Services):
 Descripción: IIS es un servidor web flexible y seguro desarrollado por
Microsoft, incluido en todas las versiones de Windows Server.
 Instalación:
o Server Manager:
- Abre Server Manager desde el menú de inicio.
- Ve a Manage > Add Roles and Features.
- Sigue el asistente hasta llegar a la sección Server Roles.
- Selecciona Web Server (IIS) y sigue las instrucciones para
completar la instalación.
 PowerShell:
o Puedes instalar IIS usando PowerShell con el siguiente comando:
- Install-windowsFeature –name web-server –
includemanagementTools
 Administración:
o IIS Manager: Una vez instalado, se puede administrar desde IIS Manager,
que se encuentra en Administrative Tools.
o PowerShell: También puedes usar PowerShell para administrar IIS. Por
ejemplo:
- Get-IISSite
- Start-IISSite -Name "NombreDelSitio"
 Software de Servidor HTTP en Windows (no server) IIS Express:
 Descripción: Una versión ligera de IIS que es ideal para desarrolladores y
pruebas locales en sistemas Windows que no son Windows Server.
 Instalación:
o Se instala normalmente como parte de Visual Studio.
 También se puede descargar e instalar manualmente desde el sitio web de
Microsoft.
o Administración:
- IIS Express se administra típicamente desde Visual Studio, donde
puedes iniciar y detener el servidor web para aplicaciones
específicas.
- Para administración avanzada, puedes editar el archivo de
configuración applicationhost.config ubicado en el directorio de
usuario.
7. ¿Cuál es el software de servidor de HTTP más conocido para Unix/Linux? ¿Y el software de
servidor más ligero de HTTP?
 Software de Servidor HTTP más Conocido para Unix/Linux
 Apache HTTP Server (httpd)
 Software de Servidor HTTP más Ligero
 Nginx
8. Al instalar un servidor de HTTP, ¿Qué parámetros a configurar piensas que serán los más
importantes?
 Configuración Básica del Servidor
 Puerto de Escucha
 Nombre del Servidor (ServerName)
 DocumentRoot
 Configuración de SSL/TLS
 Configuración de Permisos y Acceso
 Configuración de Virtual Hosts

Configurar un servidor HTTP de manera adecuada implica asegurar que todos estos parámetros se
ajusten a las necesidades específicas del entorno y las aplicaciones que se van a servir. Esto incluye
desde configuraciones básicas y de seguridad hasta opciones de rendimiento y monitoreo.

9. De qué maneras un servidor web puede servir páginas de más de un nombre de dominio
("virtual hosting"). Es decir, si necesitamos que un servidor web aloje las páginas de
www.pepe.com y www.jose.com, ¿Cómo podemos conseguir qué distinga cuál le están
pidiendo?
 Name-Based Virtual Hosting es el más común y utiliza el encabezado Host de la
solicitud HTTP.
 IP-Based Virtual Hosting asigna una dirección IP diferente para cada sitio web.
 Port-Based Virtual Hosting utiliza diferentes puertos para cada sitio web.
La configuración específica puede variar ligeramente según el servidor web y el sistema
operativo, pero los principios básicos son los mismos.
10. ¿Cuál es la sintaxis completa de una URL?
 https://user:pass@www.ejemplo.com:8080/ruta/al/recurso.html?busqueda=pyth
on&pagina=2#seccion1

Parte II. Desarrolle las siguientes Actividades

Usted deberá desarrollar cada una de las actividades, las mismas pueden ser desarrolladas en
ambiente Windows o Linux:

1. Instalar un servidor de Paginas Web


 En una máquina virtual instale el servidor web en el ambiente que haya seleccionado.
Entregue captura de pantalla de la instalación.
 Cree una sencilla página web con tu nombre y apellidos en este equipo, puede añadir
más información si lo deseas, en la carpeta donde el servidor web guarda por defecto
las páginas web. Si no sabes cuál es deberás investigarlo. Entregue captura de pantalla
de la carpeta donde dejas tu página web.
 Pruebe que puede acceder a la página web que acaba de crear. Entregue captura de
pantalla del navegador de la máquina anfitrión accediendo a la página web vía el
servidor web de la máquina virtual.
2. Configura el servidor para que sirva páginas de dos nombres de dominio diferentes
mediante hosts virtuales, por ejemplo www.mired.org e intranet.mired.org.
 Entregue captura de pantalla de las carpetas creadas con los archivos dentro y de la
configuración que has escrito en estos archivos.
 Habilite las dos páginas webs.
 Haga los cambios necesarios en su servidor DNS para que los nombres de host
"www.mired.org" y "intranet.mired.org" apunten a la IP del servidor DNS, que también
es el servidor web. (En caso de no tener servidor de DNS, puedes hacer el archivo
"hosts" del cliente para mapear Nombre a IP ). Entregue captura de pantalla del
archivo de configuración del servidor DNS o archivo "hosts" del cliente
 Entregue captura de pantalla del navegador accediendo a las páginas “www.mired.org"
e "intranet.mired.org".
3. Utiliza HTTPS
 Genera un certificado digital e intégralo en el servidor web para que lo utilice en
HTTPS con un sitio web.
 Genera un certificado para que tu servidor "intranet.mired.org" pueda servir páginas
seguras con el protocolo HTTPS.
 El cliente deberá aceptar el certificado directamente del servidor, ya que
generaremos un certificado "autofirmado"
 Configura tu página para que utilice dicho certificado.
 Entrega captura de pantalla de la configuración de la intranet.
 Entrega capturas de pantalla de un cliente (a) aceptando el certificado, y
(b) navegando por dicha página.
Se realiza la instalacion de apache2

Se habilita los puertos atraves del firewall


Se verifica a través de mi navegar el acceso a apache:

Este es mi código de la página en html.


Se realiza el cambio del nombre del la pagina para que no se muestre en localhost y este fue el
resultado:

También podría gustarte