Skip to content

Commit

Permalink
Update what-is-http.es.md
Browse files Browse the repository at this point in the history
  • Loading branch information
josemoracard authored Mar 13, 2024
1 parent 5be8a00 commit d77c15a
Showing 1 changed file with 18 additions and 17 deletions.
35 changes: 18 additions & 17 deletions src/content/lesson/what-is-http.es.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
---
title: "¿Què es HTTP?"
title: "¿Qué es HTTP?"
subtitle: "HTTP quiere decir Hypertext Transfer Protocol, o en español, Protocolo de Transferencia de Hipertexto. Se trata de un conjunto de reglas de comunicación que posibilita la circulación de información a través de la World Wide Web (WWW)."
cover_local: "../../assets/images/http-0.png"
textColor: "white"
Expand All @@ -12,7 +12,7 @@ status: "published"

HTTP (*HyperText Transfer Protocol*, Protocolo de Transferencia de HiperTexto) es un protocolo utilizado para transmitir documentos hipermedia a través de la web. Interviene en todos los flujos de transmisión de información a lo largo y ancho de Internet.

Este protocolo opera entre un cliente y un servidor. Así, el cliente realiza una petición enviando un mensaje con cierto formato al servidor. Éste entonces le devuelve con una respuesta también en texto.
Este protocolo opera entre un cliente y un servidor. Así, el cliente realiza una petición enviando un mensaje con cierto formato al servidor. Este entonces le devuelve con una respuesta también en texto.

Esta comunicación, como se muestra en el siguiente gif, se lleva a cabo mediante un proceso:

Expand All @@ -21,23 +21,23 @@ Esta comunicación, como se muestra en el siguiente gif, se lleva a cabo mediant
3. La cadena de caracteres llega al ordenador/dispositivo móvil del receptor, en este caso, la abuela.
4. Cuando la abuela recibe el fichero y quiere abrirlo, se lleva a cabo la decodificación, que transforma el texto en imagen, para su posterior visualización.

![HTTP](https://github.com/breatheco-de/content/blob/master/src/assets/images/2fd53b0a-5243-4440-8fc6-7fd74ac5a46e.gif?raw=true)
![Enviar una imagen a través de Internet](https://github.com/breatheco-de/content/blob/master/src/assets/images/2fd53b0a-5243-4440-8fc6-7fd74ac5a46e.gif?raw=true)

<small style="color:grey">Imagen 1: Los 4 pasos necesarios para enviar imágenes a través de Internet: decodificación de la imagen, transmisión, recepción y decodificación... Finalmente, la abuela feliz tras ver la fotografía de su nieta!</small>
<small style="color:grey">Imagen 1: Los 4 pasos necesarios para enviar imágenes a través de Internet: decodificación de la imagen, transmisión, recepción y decodificación... ¡Finalmente, la abuela se siente feliz después de ver la foto de su nieta!</small>

### ¿Cómo funciona HTTP?

![HTTP](https://github.com/breatheco-de/content/blob/master/src/assets/images/http-3.png?raw=true)
![Diagrama HTTP](https://github.com/breatheco-de/content/blob/master/src/assets/images/http-3.png?raw=true)

El protocolo HTTP funciona a través de solicitudes y respuestas el cliente (por ejemplo, un navegador de internet) y un servidor (por ejemplo, las computadoras que alojan y despliegan los sitios web).
El protocolo HTTP funciona a través de solicitudes y respuestas, el cliente (por ejemplo, un navegador de internet) y un servidor (por ejemplo, las computadoras que alojan y despliegan los sitios web).

El servidor, tras recibir una solicitud, responde con un mensaje estructurado y con una serie de metadatos que establecen pautas para el inicio, desarrollo y cierre de la comunicación. Estas pautas son los llamados `métodos de petición`.
El servidor, tras recibir una solicitud, responde con un mensaje estructurado y con una serie de metadatos que establecen pautas para el inicio, desarrollo y cierre de la comunicación. Estas pautas son los llamados **métodos de petición** (*request methods*).

A una secuencia de estas solicitudes se le conoce como `sesión HTTP`.
A una secuencia de estas solicitudes se le conoce como **sesión HTTP**.

### Métodos de petición

Cada conversación en la web comienza con una petición. Esta petición es un mensaje de texto o un conjunto de líneas creada por un cliente (navegador, app, usuario) que especifica el documento que solicita y el *método* que aplica. El cliente envía esta petición a un servidor, y entonces espera la respuesta.
Cada conversación en la web comienza con una petición. Esta petición es un mensaje de texto o un conjunto de líneas creadas por un cliente (navegador, app, usuario) que especifica el documento que solicita y el *método* que aplica. El cliente envía esta petición a un servidor, y entonces espera la respuesta.

Una petición para obtener una página web, en este caso, `google.com`, en lenguaje HTTP sería algo así:

Expand All @@ -53,22 +53,22 @@ En este caso en particular estamos utilizando el método GET porque queremos obt
Este simple mensaje comunica todo lo necesario acerca de qué recurso está solicitando el cliente exactamente. La primera línea de una petición HTTP es la más importante y contiene dos cosas:

+ El URI (*Uniform Resource Identifier*, Identificador de Recursos Uniforme) que es la única dirección o ubicación que identifica el recurso que el cliente quiere.
+ El método HTTP define lo que quieres hacer con el recurso y es tu método de petición. Los más utilizados son lo siguientes:
+ El método HTTP define lo que quieres hacer con el recurso y es tu método de petición. Los más utilizados son los siguientes:

|**Método** |**Descripción** |
|Método |Descripción |
|:-------------|:----------------|
|GET | Solicita una representación del recurso especificado. Sirve para requerir un recurso de un servidor. |
|GET | Solicita una representación del recurso especificado. Sirve para hacer una petición de un recurso a un servidor. |
|POST | Envía información al servidor. Esta información, dependiendo del servidor y del contexto, se puede utilizar, por ejemplo, para añadir registros a una base de datos, añadir información a un perfil de usuario en una web, etcétera. |
|PUT | Envía información al servidor pero a diferencia de POST, este método se utiliza para actualizar información ya existente en él. |
|PUT | Envía información al servidor, pero a diferencia de POST, este método se utiliza para actualizar información ya existente en él. |
|DELETE |Se utiliza para eliminar datos en el servidor. |

```python
DELETE /blog/15 HTTP/1.1`
```

Además de la primera línea, un petición HTTP también tiene otras líneas de datos llamadas _request headers_, o `cabeceras de solicitud`, mediante las que puede entregar una amplia gama de información en la petición que recibirá el servidor.
Además de la primera línea, una petición HTTP también tiene otras líneas de datos llamadas **cabeceras de solicitud** (*request headers*), mediante las que puede entregar una amplia gama de información en la petición que recibirá el servidor.

Toda respuesta proveniente de un servidor llevará consigo un `código de respuesta o status`. Algunos de los más comunes se detallan a continuación.
Toda respuesta proveniente de un servidor llevará consigo un *código de respuesta* o *status code*. Algunos de los más comunes se detallan a continuación.

### Códigos de respuesta

Expand All @@ -83,12 +83,13 @@ Server: Apache/2.2.22 (Ubuntu)
Content-Type: text/html
```

La respuesta contiene el recurso solicitado además del código de respuesta. En este caso `200` indica que todo es correcto, que el recurso se ha recibido además de que la comunicación ha sido un éxito.
La respuesta contiene el recurso solicitado, además del código de respuesta. En este caso `200` indica que todo es correcto, que el recurso se ha recibido, además de que la comunicación ha sido un éxito.

Los códigos de estado HTTP puedes encontrarlos [aquí](https://developer.mozilla.org/es/docs/Web/HTTP/Status) y según el número con el que empiecen, brindan información muy valiosa:

+ `1xx` – Metadata
+ `2xx` – Todo OK
+ `3xx` – Redirección
+ `4xx` – Cliente hizo algo mal
+ `5xx` – Servidor hizo algo mal
+ `5xx` – Servidor hizo algo mal

0 comments on commit d77c15a

Please sign in to comment.