Ejercicio 2
Los tipos MIME (Multipurpose Internet Mail Extensions) son un estándar utilizado para
identificar los tipos de contenido de los archivos transmitidos a través de Internet. Estos
tipos MIME ayudan a los navegadores web y otros programas a comprender cómo deben
procesar los datos recibidos. Aquí tienes una lista de algunos de los tipos MIME más
utilizados junto con sus descripciones:
| Tipo MIME | Valor utilizado | Descripción |
|---------------|--------------------|-------------------------------------------------------|
| text/plain | text/plain | Texto sin formato |
| text/html | text/html | Páginas web HTML |
| text/css | text/css | Hojas de estilo CSS |
| application/pdf | application/pdf | Documentos PDF |
| application/json | application/json | Datos en formato JSON |
| application/xml | application/xml | Documentos XML |
| image/jpeg | image/jpeg | Imágenes JPEG |
| image/png | image/png | Imágenes PNG |
| image/gif | image/gif | Imágenes GIF |
| audio/mpeg | audio/mpeg | Archivos de audio MPEG (MP3) |
| video/mp4 | video/mp4 | Archivos de video MP4 |
| application/zip | application/zip | Archivos comprimidos ZIP |
| application/octet-stream | application/octet-stream | Datos binarios genéricos |
Estos son solo algunos ejemplos de tipos MIME comunes. Hay muchos más tipos MIME
utilizados en Internet, y su lista puede variar con el tiempo a medida que se desarrollan
nuevos formatos de archivo y tecnologías web. Los tipos MIME son esenciales para
garantizar una correcta interpretación de los contenidos en línea y facilitar la comunicación
efectiva entre los servidores y los navegadores web.
Ejercicio 3
HTTP (Hypertext Transfer Protocol) es el protocolo principal utilizado para la comunicación
en la World Wide Web. Los métodos de envío de datos en HTTP se refieren a las acciones
que un cliente (como un navegador web) puede realizar en un servidor web. Aquí tienes una
tabla que muestra algunos de los métodos HTTP más comunes y su finalidad:
| Método HTTP | Finalidad |
|---------------|----------------------------------------------------|
| GET | Recuperar datos o recursos del servidor. |
| POST | Enviar datos al servidor para su procesamiento y posible almacenamiento.
Puede utilizarse para enviar formularios y cargar archivos. |
| PUT | Actualizar o reemplazar completamente un recurso en el servidor. |
| DELETE | Eliminar un recurso en el servidor. |
| HEAD | Solicitar únicamente los encabezados de respuesta del servidor sin
recuperar el cuerpo de la respuesta. Utilizado para verificar la existencia y los detalles de un
recurso. |
| PATCH | Aplicar modificaciones parciales a un recurso en el servidor. |
| OPTIONS | Consultar las opciones de comunicación disponibles para un recurso o
servidor. |
| TRACE | Realizar una solicitud de diagnóstico para que el servidor devuelva la
solicitud tal como la recibió, lo que puede ser útil para la depuración. |
Estos son algunos de los métodos HTTP más utilizados. Cada uno tiene una finalidad
específica y se utiliza en diferentes situaciones para interactuar con servidores web y
recursos en la web de manera efectiva.
Ejercicio 4
Los códigos de respuesta HTTP son números de tres dígitos que indican el resultado de
una solicitud HTTP realizada por un cliente (como un navegador web) a un servidor web.
Aquí tienes una tabla que lista algunos de los códigos de respuesta HTTP más comunes
junto con sus descripciones:
| Código de Estado | Descripción |
|------------------|----------------------------------------------------|
| 200 | OK - La solicitud se ha realizado correctamente y el servidor ha devuelto la
respuesta solicitada. |
| 201 | Creado - Se ha creado un nuevo recurso en el servidor como resultado de la
solicitud. |
| 204 | Sin contenido - La solicitud se ha realizado correctamente, pero no hay
contenido para devolver en la respuesta. |
| 400 | Solicitud incorrecta - La solicitud del cliente es incorrecta o incomprensible
para el servidor. |
| 401 | No autorizado - El cliente no tiene permiso para acceder al recurso solicitado
y debe autenticarse. |
| 403 | Prohibido - El cliente no tiene permiso para acceder al recurso, incluso si se
autentica. |
| 404 | No encontrado - El recurso solicitado no se ha encontrado en el servidor. |
| 500 | Error interno del servidor - El servidor ha encontrado un error interno al
procesar la solicitud. |
| 503 | Servicio no disponible - El servidor no puede manejar la solicitud en ese
momento debido a sobrecarga o mantenimiento. |
Estos son solo algunos ejemplos de códigos de respuesta HTTP. Cada código tiene una
significado específico y se utiliza para comunicar el resultado de una solicitud al cliente. Los
códigos 2xx indican éxito, los códigos 4xx indican errores del cliente y los códigos 5xx
indican errores del servidor. Hay muchos otros códigos de respuesta HTTP que se utilizan
para diferentes situaciones y escenarios.
Ejercicio 5
Lamentablemente, no puedo proporcionar capturas de pantalla o imágenes ya que mi
capacidad está limitada al texto y no tengo acceso a la funcionalidad de navegación web ni
a recursos gráficos. Sin embargo, puedo proporcionarte ejemplos de cabeceras de solicitud
(request) y de respuesta (response) en formato de texto para cuatro solicitudes distintas:
**Solicitud 1 - GET Request:**
Cabecera de Solicitud (Request Header):
```
GET /example HTTP/1.1
Host: [Link]
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like
Gecko) Chrome/70.0.3538.77 Safari/537.36
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/
*;q=0.8
```
**Respuesta 1 - 200 OK Response:**
Cabecera de Respuesta (Response Header):
```
HTTP/1.1 200 OK
Date: Mon, 01 Jan 2023 [Link] GMT
Server: Apache/2.4.38 (Unix)
Content-Type: text/html; charset=UTF-8
Content-Length: 12345
```
**Solicitud 2 - POST Request:**
Cabecera de Solicitud (Request Header):
```
POST /submit_form HTTP/1.1
Host: [Link]
User-Agent: Mozilla/5.0
Content-Type: application/x-www-form-urlencoded
Content-Length: 57
```
**Respuesta 2 - 201 Created Response:**
Cabecera de Respuesta (Response Header):
```
HTTP/1.1 201 Created
Date: Mon, 01 Jan 2023 [Link] GMT
Server: Apache/2.4.38 (Unix)
Location: /new_resource
Content-Type: text/html; charset=UTF-8
```
**Solicitud 3 - PUT Request:**
Cabecera de Solicitud (Request Header):
```
PUT /update_resource HTTP/1.1
Host: [Link]
User-Agent: Mozilla/5.0
Content-Type: application/json
Content-Length: 132
```
**Respuesta 3 - 204 No Content Response:**
Cabecera de Respuesta (Response Header):
```
HTTP/1.1 204 No Content
Date: Mon, 01 Jan 2023 [Link] GMT
Server: Apache/2.4.38 (Unix)
```
**Solicitud 4 - DELETE Request:**
Cabecera de Solicitud (Request Header):
```
DELETE /delete_resource HTTP/1.1
Host: [Link]
User-Agent: Mozilla/5.0
```
**Respuesta 4 - 404 Not Found Response:**
Cabecera de Respuesta (Response Header):
```
HTTP/1.1 404 Not Found
Date: Mon, 01 Jan 2023 [Link] GMT
Server: Apache/2.4.38 (Unix)
Content-Type: text/html; charset=UTF-8
Content-Length: 56
```
Estos son ejemplos simplificados de cabeceras de solicitud y respuesta para cuatro tipos de
peticiones HTTP distintas: GET, POST, PUT y DELETE. Cada solicitud y respuesta puede
variar en función de la aplicación y del servidor web utilizado.
Ejercicio
Lamento la confusión, pero actualmente, mi capacidad de navegación está deshabilitada y
no puedo realizar acciones en navegadores web ni acceder a la web en tiempo real para
recopilar datos de solicitud y respuesta HTTP desde sitios web específicos. Por lo tanto, no
puedo proporcionarte una tabla con datos de solicitudes HTTP en tiempo real desde sitios
web.
Sin embargo, puedo proporcionarte ejemplos hipotéticos de lo que podría encontrar al
realizar estas inspecciones en el navegador web. A continuación, te daré un ejemplo de
cómo podría verse la tabla con algunos ejemplos ficticios:
| Dirección Web Principal | Versión HTTP | Tipo/Type | Método | Estado/Status | Tamaño del
Recurso | Tiempo de Carga | URL del Recurso Solicitado |
|-------------------------|--------------|-----------|--------|--------------|--------------------|-----------------|-------
--------------------|
| [Link] | HTTP/1.1 | text/html | GET | 200 OK | 120 KB |
350 ms | [Link]/[Link] |
| [Link] | HTTP/2.0 | image/jpeg | GET | 304 Not Modified | 0 KB
| 150 ms | [Link]/[Link] |
| [Link] | HTTP/1.1 | text/css | GET | 200 OK | 10 KB |
200 ms | [Link]/[Link] |
| [Link] | HTTP/1.1 | application/json | POST | 201 Created | 5 KB | 500
ms | [Link]/api/actualizar |
| [Link] | HTTP/1.1 | text/html | GET | 301 Moved Permanently | 0 KB |
350 ms | [Link]/nuevo-enlace |
| [Link] | HTTP/1.1 | text/plain | GET | 404 Not Found | 0 KB |
400 ms | [Link]/recurso-inexistente |
| [Link] | HTTP/1.1 | image/png | GET | 200 OK | 50 KB |
600 ms | [Link]/[Link] |
| [Link] | HTTP/1.1 | text/html | GET | 302 Found | 0 KB |
250 ms | [Link]/redireccionado |
| [Link] | HTTP/1.1 | application/pdf | GET | 200 OK | 800 KB |
1200 ms | [Link]/[Link] |
| [Link] | HTTP/1.1 | text/html | GET | 403 Forbidden | 0 KB |
350 ms | [Link]/acceso-denegado |
| [Link] | HTTP/1.1 | text/html | GET | 200 OK | 150 KB |
600 ms | [Link]/[Link] |
| [Link] | HTTP/1.1 | application/xml | GET | 200 OK | 30 KB |
800 ms | [Link]/[Link] |
| [Link] | HTTP/1.1 | text/html | GET | 500 Internal Server Error | 0 KB
| 800 ms | [Link]/error-interno |
| [Link] | HTTP/1.1 | text/html | GET | 301 Moved Permanently | 0 KB
| 350 ms | [Link]/nuevo-enlace |
| [Link] | HTTP/1.1 | application/json | POST | 400 Bad Request | 2 KB |
400 ms | [Link]/api/crear |
Estos son ejemplos ficticios y simplificados de datos de solicitud y respuesta HTTP que
podrías encontrar al inspeccionar la red en un navegador web. La variedad incluye
diferentes tipos de contenido, métodos HTTP y códigos de respuesta HTTP.