HTTP


En este post vamos a conoce el protocolo http y las peticiones que se puede hacer por medio de peticiones y respuestas.

oscar Escrito por oscar 28 August 2020 7912 0

Contenido

Flujo de HTTP

El flujo de comunicación que hay entre un cliente y un servidor al momento de hacer una petición http se puede realizar directamente o a través de un proxy, los pasos que vamos a mencionar a continuación son un resumen de lo que se realiza para poder enviar y obtener información del servidor.[1]

  1. Se abre una conexión tcp que se va utilizar pa para hacer una o varias peticiones http, destapó de recibir una respuesta; el tinte puede abrir una nueva conexión o puede reutilizar una conexión ya existente hacia el servidor.
  2. Se va a realizar la petición http por medio el envío de los mensajes de comunicación, estos mensajes pueden ser en texto plano y llevan los métodos de petición para identificar el mensaje que vamos a enviar y que tipo de respuesta vamos a recibir del servidor.
    GET / HTTP/1.1
                Host: developer.mozilla.org
                Accept-Language: fr
  3. El servidor nos va a retornar un mensaje http también con un método de respuesta y un mensaje según la solicitud que hayamos realizado.
    HTTP/1.1 200 OK
                Date: Sat, 09 Oct 2010 14:28:02 GMT
                Server: Apache
                Last-Modified: Tue, 01 Dec 2009 20:18:22 GMT
                ETag: "51142bc1-7449-479b075b2891b"
                Accept-Ranges: bytes
                Content-Length: 29769
                Content-Type: text/html
                
                <!DOCTYPE html... (here comes the 29769 bytes of the requested web page)
  4. Por último la comunicación queda abierta Para futuras peticiones o se cierra.

Mensajes HTTP

Los mensajes http pueden de formato texto plano si se está trabajando con la versión 1.1 o pueden llevar una estructura de formato tipo binaria y contra más si se está trabajando con la http. Esta estructura lo que va a contener como mínimo es un método la versión del protocolo los headers, el estado entre otras características ya sea para hacer una petición o para recibir una respuesta.

Petición http

Observa la siguiente imagen donde estamos realizando una petición http donde tenemos las diferentes características de esta petición.

Ahora observemos en la siguiente lista donde tenemos los campos los cuales están formadas las peticiones:

  • Un método HTTP, normalmente pueden ser un verbo, como: GET, POST o un nombre como: OPTIONS o HEAD, que defina la operación que el cliente quiera realizar. El objetivo de un cliente, suele ser una petición de recursos, usando GET, o presentar un valor de un formulario HTML, usando POST, aunque en otras ocasiones puede hacer otros tipos de peticiones.
  • La dirección del recurso pedido; la URL del recurso, sin los elementos obvios por el contexto, como pueden ser: sin el protocolo (http://), el dominio (aquí developer.mozilla.org), o el puerto TCP (aquí el 80).
  • La versión del protocolo HTTP.
  • Cabeceras HTTP opcionales, que pueden aportar información adicional a los servidores.
  • O un cuerpo de mensaje, en algún método, como puede ser POST, en el cual envía la información para el servidor.

Respuesta http

La respuesta que nos retorna el servidor puede ser un simple mensaje con un estado, o con un recurso completo cómo puede ser una imagen un texto entre otros, a continuación tenemos una imagen de cómo sería una respuesta http y sus características:

Las respuestas están formadas por los siguentes campos:

  • La versión del protocolo HTTP que están usando.
  • Un código de estado, indicando si la petición ha sido exitosa, o no, y debido a que.
  • Un mensaje de estado, una breve descripción del código de estado.
  • Cabeceras HTTP, como las de las peticiones.
  • Opcionalmente, el recurso que se ha pedido.

Métodos de petición HTTP

Http define un conjunto de métodos de petición los cuales podemos indicar para realizar una petición hacia el servidor, cada una de ellos simplemente una semántica diferente y tiene una característica propia el cual permite realizar un llamado diferente para enviar o recibir información del servidor.[2]

GET
El método GET solicita una representación de un recurso específico. Las peticiones que usan el método GET sólo deben recuperar datos.
HEAD
El método HEAD pide una respuesta idéntica a la de una petición GET, pero sin el cuerpo de la respuesta.
POST
El método POST se utiliza para enviar una entidad a un recurso en específico, causando a menudo un cambio en el estado o efectos secundarios en el servidor.
PUT
El modo PUT reemplaza todas las representaciones actuales del recurso de destino con la carga útil de la petición.
DELETE
El método DELETE borra un recurso en específico.
CONNECT
El método CONNECT establece un túnel hacia el servidor identificado por el recurso.
OPTION
El método OPTIONS es utilizado para describir las opciones de comunicación para el recurso de destino.
TRACE
El método TRACE realiza una prueba de bucle de retorno de mensaje a lo largo de la ruta al recurso de destino.
PATCH
El método PATCH es utilizado para aplicar modificaciones parciales a un recurso.

Referencias

[1] mozilla http https://developer.mozilla.org/es/docs/Web/HTTP/Overview, Consultado Agosto 2020

[2] developer metodos http https://developer.mozilla.org/es/docs/Web/HTTP/Methods, Consultado Agosto 2020


Comentario

Debe aceptar antes de enviar