Introducción a HTTP

¿Qué es HTTP?

Para poder explicaros REST (que explicaremos en la siguiente lección), es necesario primeramente detenerse en HTTP y entender perfectamente este protocolo.

HTTP = Protocolo de transferencia de hipertexto (en inglés: Hypertext Transfer Protocol)

HTTP, consiste en un protocolo que tiene como finalidad la comunicación entre el cliente y servidor. Y que está orientado a transacciones. El cliente, realiza una petición enviando un mensaje, con cierto formato al server. Posteriormente, el server, le envía un mensaje de respuesta.

Este protocolo destacar por ser sin estado, es decir, que no guarda información sobre conexiones anteriores.

Códigos de estado de HTTP (HTTP Status Codes)

Una petición vía HTTP, genera una respuesta. Esta respuesta contiene un código que nos permite saber que ha pasado en dicha petición. Cada código tiene un significado concreto.

Los códigos están formados por tres dígitos. El primero empezando por la izquierda (la centena), nos permite identificar el tipo de respuesta que recibimos. Los otros dos (decena y unidad), nos permiten tener un mensaje más conciso, más detallado.

En el siguiente ejemplo, vamos a desglosar los códigos de la familia y también un código específico de cada familia.

  • 1XX: Respuestas informativas, indica que la petición ha sido recibida y se está procesando.
    • Un ejemplo podría ser 102, que significa Processing.
  • 2XX: Respuesta correctas, indica que la petición ha sido procesada satisfactoriamente.
    • Un ejemplo podría ser 200, OK.
  • 3xx: Respuestas de redirección, indica que el cliente necesita realizar más operaciones para finalizar la petición.
    • Un ejemplo podría ser 301, Moved Permanently.
  • 4xx: Errores causando por el cliente, indica que ha habido un error en el cliente debido a que este ha hecho algo mal.
    • Un ejemplo podría ser 404, Not found.
  • 5xx: Errores causados por el servidor, indica que ha habido un error en el procesado a causa de un fallo en el servidor.
    • Un ejemplo podría ser 504, Gateway Timeout.

Os dejo una lista en PDF que he encontrado con todos los códigos. Una vez tenemos el código, vamos al Google y buscamos su significado.

https://www.cheatography.com/kstep/cheat-sheets/http-status-codes/pdf/

Principales métodos de petición:

HTTP, tiene una gran variedad de métodos predefinidos. Para identificar a cada uno de ellos se utiliza lo que se conoce como HTTP Verbs (para nosotros a partir de ahora métodos HTTP). El número de métodos va aumentando conforme se desarrollan nuevas versiones del protocolo HTTP.

Cada método HTTP (HTTP Verb), nos permite identificar la acción que deseamos realizar sobre un recurso determinado.

Las principales operaciones que se utilizan en un sistema HTTP y en los que también utiliza REST son:

  • GET: Principalmente está enfocado a solicitar, es decir, consultar información existente del servidor.
  • POST: Principalmente está enfocado a crear un objeto en el servidor.
  • PUT: Principalmente está enfocado a editar en el servidor.
  • DELETE: Principalmente está enfocado a eliminar información del servidor.

Aunque existen algunas más, las anteriores son las principales.

Cabeceras HTTP (HTTP Request)

Cualquier comunicación entre un cliente y servidor vía HTTP, se realiza mediante a un mensaje. Este mensaje está formado por una cabecera y un cuerpo.

HTTP Request Header

Si se realiza una petición, la cabecera será similar a la siguiente:

HTTP Response Header

Si se realiza una respuesta (response), la cabecera será similar a la siguiente:

Bueno, pues ya nos hemos acercado un poco a este protocolo. Eso es todo por hoy, una vez familiarizados con HTTP, en la próxima lección, nos acercaremos a REST. Saludos javer@s!

2 comentarios

  1. Hi would you mind sharing which blog platform you’re working with?
    I’m going to start my own blog soon but I’m having a hard
    time selecting between BlogEngine/Wordpress/B2evolution and Drupal.

    The reason I ask is because your layout seems different then most
    blogs and I’m looking for something unique.
    P.S Apologies for being off-topic but I had to ask!

  2. Hello, always i used to check website posts here in the early
    hours in the daylight, as i enjoy to find out more and more.

Deja una respuesta

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

La Ley 34/2002 nos obliga a avisarte de que usamos cookies propias y de terceros con objetivos estadísticos y de sesión y para mostrarte la 'publi' que nos da de comer. Tranquilo, este mensaje solo sale una vez. Más información

Java desde 0 comunica a los usuarios, a través de este aviso, que puede utilizar cookies cuando el usuario navega por las diferentes pantallas y páginas del sitio. Durante el uso de nuestra página Web usted acepta y autoriza expresamente el uso de cookies, de acuerdo con nuestra Política de Privacidad. Este sitio web utiliza las siguientes cookies propias: - Cookies de sesión, para garantizar que los usuarios que escriban comentarios en el blog sean humanos y no aplicaciones automatizadas. De esta forma se combate el spam. Este sitio web utiliza las siguientes cookies de terceros: - Google AdManager y AdSense: Utiliza cookies para mejorar la publicidad. Entre otros fines, suelen utilizarse para segmentarla según el contenido que sea relevante para los usuarios o su ubicación, mejorar los informes de rendimiento de las campañas y evitar mostrar anuncios que los usuarios ya hayan visto. Las cookies no contienen información personal identificable. Consulta cómo utiliza Google la información de sitios web o aplicaciones. y cómo bloquear determinados anuncios. - Google Analytics: Almacena cookies para poder elaborar estadísticas sobre el tráfico y volumen de visitas de esta web. Al utilizar este sitio web está consintiendo el tratamiento de información acerca de usted por Google. Por tanto, el ejercicio de cualquier derecho en este sentido deberá hacerlo comunicando directamente con Google. - Redes sociales: Cada red social utiliza sus propias cookies para que usted pueda pinchar en botones del tipo Me gusta o Compartir.

Cerrar