Construya una solicitud HTTP simple en el protocolo TCP

Solicitud HTTP:

  • Los mensajes HTTP son la forma en que se intercambian datos entre un servidor y un cliente. En esto, hay dos tipos de mensajes donde uno es la solicitud del cliente HTTP y el segundo es la respuesta del servidor.
  • Mensajes en forma de texto y está codificado en formato ASCII , y abarca varias líneas. Y los mensajes se enviaban abiertamente a través de la conexión en el caso de HTTP/1.1 y versiones anteriores del protocolo. En HTTP/2, el mensaje que alguna vez fue legible por humanos ahora se divide en marcos HTTP, lo que proporciona mejoras de optimización y rendimiento.
  • Ahora veamos los componentes de una solicitud y respuesta HTTP al crear una. El cliente telnet nos ayuda a conectarnos a otras computadoras en Internet. El formato es telnet , nombre de host y puerto .

Nota – 

También puede usar este cliente Telnet en línea.

Opening a TCP connection to server via telnet

Pasos para construir una solicitud HTTP simple en el protocolo TCP :

Paso 1 :

El puerto predeterminado para HTTP es 80 y el comando telnet nos conecta al puerto HTTP en el servidor geeksforgeeks.org . Podemos comenzar a enviar requests HTTP al servidor ahora.

Paso 2 :

¿Cómo creamos una solicitud HTTP? Veamos el documento de definición del protocolo HTTP aquí para tener una idea de cómo enmarcar una solicitud HTTP.

Request :
    A request message from a client to server includes, within the 
    first line of that message, the method to be applied to the resource,
    the identifier of the resource, and the protocol version in use.
    
        Request    = Request-Line
                 *((  general-header
                 |    request-header
                 |    entity-header ) CRLF )
                CRLF
                [ message-body ]        
                
Request-Line :     
    The Request-Line begins with a method token, followed by the 
    Request-URL and the protocol version, and ending the CRLF.The
    elements are separated by SP characters. No CR or LF is allowed
    except in the final CRLF sequence.
    
        Request-Line = Method SP Request-URI SP HTTP_Version CRLF

Especificación de solicitud HTTP:

A continuación se muestra la captura de pantalla para su referencia que muestra la especificación de solicitud HTTP.

Componentes de solicitud-respuesta HTTP:

  • De la figura anterior, las diferentes partes de la comunicación HTTP son:
  • Línea de solicitud (solicitud HTTP)
  • Línea de estado y encabezado de respuesta (respuesta HTTP)
  • Cuerpo de respuesta (Respuesta HTTP)
  • Trate de averiguar qué significan algunos de estos encabezados de respuesta y cuáles son sus usos; para empezar, consulte Última modificación, Longitud del contenido, Tipo de contenido
  • Si analizamos los paquetes de red transferidos a/desde nuestra computadora durante la comunicación anterior, podremos entender algunas cosas (192.168.43.197 es la computadora cliente y 192.241.136.170, el servidor)
  • El cliente inicia una solicitud de conexión TCP al servidor (Línea 1) – esto se realiza cuando ejecutamos el comando telnet
  • La comunicación de HTTP ocurre usando esta conexión TCP establecida (vea la parte inferior que enumera los protocolos usados ​​para la transferencia de recursos)
  • El cliente envía la línea de solicitud HTTP al servidor (línea 6) a la que el servidor responde con el código de estado HTTP y los datos como vimos anteriormente en la salida de telnet

Nota – 

También podemos analizar los paquetes de red usando Wire Shark, esto lo hará usted.

Publicación traducida automáticamente

Artículo escrito por support3 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

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