paint-brush
HTTP simplificado: comprensión de la comunicación cliente-servidor webpor@shreyaghate
15,097 lecturas
15,097 lecturas

HTTP simplificado: comprensión de la comunicación cliente-servidor web

por Shreya Ghate5m2020/05/23
Read on Terminal Reader
Read this story w/o Javascript

Demasiado Largo; Para Leer

Los métodos HTTP más utilizados son GET, POST, PUT y DELETE. Cada uno de estos métodos realiza la operación requerida y devuelve el éxito o el fracaso al completarse. HTTP no tiene estado porque cada solicitud se ejecuta de forma independiente, sin ningún conocimiento de las solicitudes que se ejecutaron antes. Las cookies HTTP hacen que esta conexión tenga estado al enviar una cookie junto con cada solicitud. El método más utilizado es GET y PUT, que se utiliza para leer los datos, recuperarlos y devolverlos al cliente.

Companies Mentioned

Mention Thumbnail
Mention Thumbnail
featured image - HTTP simplificado: comprensión de la comunicación cliente-servidor web
Shreya Ghate HackerNoon profile picture

Si está relacionado con el desarrollo web, comprender los conceptos de HTTP juega un papel vital. Entonces, comprendamos más sobre HTTP y sus conceptos en breve.

¿Qué es HTTP?

HTTP o Protocolo de transferencia de hipertexto, como su nombre lo indica, es un protocolo, es un conjunto de reglas que el servidor debe seguir para transmitir todo tipo de archivos como imágenes, texto, audio, video y otros tipos a través de la red mundial. (www).

Internet se compone de clientes y servidores. Entonces, cuando accede a Internet a través de un cliente web como navegadores como Google Chrome, Mozilla, IE, etc. Cuando ingresa el nombre de cualquier sitio web que desea visitar, está enviando una solicitud a un servidor web. Supongamos que escribe amazon.in, usted (el navegador que es el cliente web) está solicitando el servidor web y, a menudo, solicita un montón de documentos de ese servidor.

Tal vez sea un HTML, CSS, imágenes, video, JSON. Haces una solicitud y el servidor responde, esa es la relación básica. Esta solicitud se realiza utilizando el protocolo HTTP. Un protocolo es solo un conjunto de reglas o estándares que todos en Internet han aceptado.

Este es el modelo de solicitud-respuesta cliente-servidor. HTTP es un protocolo de capa de aplicación y, por lo general, se comunica con el servidor mediante el Protocolo de control de transmisión (TCP).

HTTP no tiene estado

Sí, originalmente, HTTP es un protocolo sin estado. Esto se debe a que cada solicitud se ejecuta de forma independiente, sin ningún conocimiento de las solicitudes que se ejecutaron antes, lo que significa que una vez que finaliza la transacción, se pierde la conexión entre el navegador y el servidor. Esto podría ser un problema para ciertos sitios web en los que necesita autenticarse para realizar cualquier transacción. Pero las cookies HTTP hacen que esta conexión tenga estado al enviar una cookie junto con cada solicitud HTTP. De esta forma, su experiencia de navegación y realización de cualquier transacción a través de Internet se vuelve mejor y más segura.

Desde ahora hemos entendido la relación entre el cliente y el servidor y algunos conceptos básicos sobre HTTP. El cliente (usted) hace una solicitud y el servidor responde, eso sucede cada vez que ingresa un enlace y presiona enter en su navegador. Se utilizan muchos protocolos como DNS, FTP, HTTP, SMTP (protocolo simple de transferencia de correo), SSL (capa de sockets seguros). HTTP es el más utilizado y también es fácil de leer y entender por los usuarios normales.

Métodos HTTP

Entonces, un cliente hace una solicitud al servidor, ¿cómo sabría el servidor qué operación realizar?

HTTP utiliza métodos para informar al servidor qué acciones deben realizarse cuando el cliente envía una solicitud. También se llama verbos HTTP. Cada uno de estos métodos realiza la operación requerida y devuelve el éxito o el fracaso al completarse.

Los métodos HTTP más utilizados son GET, POST, PUT y DELETE. También hay algunos otros, como HEAD, OPTIONS, TRACE. Entendamos qué hacen los cuatro métodos ampliamente utilizados:

OBTENER

Las solicitudes GET son de solo lectura, se utilizan para leer los datos, recuperarlos y devolverlos al cliente. Es la más simple entre todas las solicitudes, ya que proporciona el recurso requerido sin modificaciones.

CORREO

Las solicitudes POST se utilizan para crear o agregar un nuevo elemento a la URL solicitada. Por ejemplo, crear una nueva cuenta o publicar un nuevo blog o medio. Según su URL, publica los datos en una ubicación específica. Una vez hecho, responde con el código de estado 201 (CREADO), junto con el enlace de ubicación de los datos publicados.

PONER

Las solicitudes PUT se utilizan para modificar o reemplazar los datos actuales con los datos solicitados. Por ejemplo, cambiar la contraseña en un sitio web. También se puede usar para crear un elemento nuevo como POST, pero POST se usa para ese propósito.

ELIMINAR

La solicitud DELETE se utiliza para eliminar todos los datos de la ubicación de destino solicitada por el cliente. Es una operación arriesgada porque una vez borrada, no se puede volver a recuperar.

Si las solicitudes anteriores son exitosas, devuelve los datos solicitados por el cliente junto con el código de estado 200 (ÉXITO). De lo contrario, regresa con el código de estado 404 (PÁGINA NO ENCONTRADA) o devuelve el código de estado 500 (Error del servidor).

Códigos de estado HTTP

Entonces, un cliente realiza una solicitud al servidor, ¿cómo sabría el cliente sobre el estado de la solicitud?

Los códigos de estado nos permiten saber si la solicitud que hicimos al servidor fue exitosa o fallida o algo intermedio.

Se dividen en 5 grupos:

  • 1xx — Informativo : el servidor no ha completado completamente la solicitud, todavía está pensando y se encuentra en una fase de transición
  • 2xx — Exitoso: el servidor ha completado con éxito la solicitud
  • 3xx — Redirecciones: este bloque es para redirecciones, significa que solicitaste una dirección pero te enviaron a otro lugar
  • 4xx — Errores del cliente: hay algún error de su parte
  • 5xx — Errores del servidor: hay algún error en el lado del servidor.

¡Puedes leer sobre todos los códigos de estado aquí !

Solicitudes y respuestas HTTP

Puede ver cómo se ven estas solicitudes HTTP accediendo a las herramientas de desarrollo web desde el navegador Mozilla Firefox o Chrome. Mozilla Firefox ofrece una mejor herramienta para inspeccionar a través de la consola web.

Aquí puede visitar la sección Red para ver todas las solicitudes que se envían cuando ingresa un nombre en particular para buscar. Puede ver todos los detalles de las solicitudes enviadas con código de estado, método, nombre de dominio, tipo de archivo, tamaño.

Cuando hace clic en cualquier solicitud, se abrirá el encabezado y toda la información relacionada con esa solicitud en particular.

Los encabezados HTTP para un mensaje de solicitud se ven así:

Las solicitudes constan de los siguientes elementos:

  • Solicitar URL: la ruta que se va a buscar, que contiene el protocolo (https://) y la dirección del dominio (google.com).
  • Método HTTP: por lo general, es GET o POST un recurso o cualquier operación que el cliente desee realizar.
  • Dirección remota (dirección IP y número de puerto) del sitio web que está visitando el cliente. Si el número de puerto es 80, entonces es HTTP y si el número de puerto es 443, está usando HTTPS.
  • Código de estado: indica el estado de la operación que el cliente está intentando realizar.
  • La versión del protocolo HTTP.
  • Cualquier encabezado opcional que transmita alguna información relacionada con la solicitud o el servidor.
  • Referrer-Policy que contiene la información si es el origen o origen cruzado.

Las respuestas constan de los siguientes elementos:

  • La versión del protocolo HTTP que siguen.
  • Todos los encabezados relacionados con el contenido, que indican el tipo, la longitud y la información relacionada.
  • Un mensaje de estado, una breve descripción no autorizada del código de estado.
  • Información relacionada con el control de acceso.
  • Encabezados HTTP, similares al encabezado de solicitud.
  • En algunos casos, un cuerpo que contiene los datos obtenidos.
  • HTTP frente a HTTPS

    Mientras navegaba por la web, debe haber encontrado http:// y https://

     HTTP request or response is not encrypted and is vulnerable to various types of security attacks and uses port 80.

    HTTPS request, on the other hand, is a more secure way of communicating with the web server that is encrypted and uses the port 443. HTTPS, here S stands for HTTP over TLS/SSL.

    Conclusión

    HTTP juega un papel crucial en el funcionamiento de la web y en la relación cliente-servidor. Aunque HTTP no tiene estado, es más fácil de escalar. Todos los datos de sesión relacionados para ese estado se reciben con cada solicitud y respuesta, a través de las cuales se realiza el trabajo de mantener un estado para ese ciclo de solicitud en particular.

    Entonces, como viste, HTTP es un tema amplio, tiene mucho más que eso. He intentado cubrir algunos temas básicos y esenciales para brindarle una entrada fácil al mundo web. Espero que este artículo haya sido útil. Si tiene alguna duda o sugerencia, comente a continuación.