es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Cómo funciona el proceso GET en el servidor HTTP de MHC (MPLAB® Harmony Configurator).

He intentado crear un servidor http con sistema de archivos FatFS haciendo referencia a webserver/sdcard/fatfs (https://github.com/GravitasCapstone/pic32-ethernet-sd/tree/master/webserver/sdcard/fatfs/firmware/src).
El problema es que no entiendo el proceso desde la recepción de la solicitud hasta el envío de la respuesta.
El código de muestra no contiene unidades de envío de archivos. Por lo tanto, supongo cómo funciona el proceso GET en el servidor http. La figura muestra el proceso que supongo.

En primer lugar, el navegador web envía una solicitud GET con una URL que incluye variables (parámetros de URL).
En segundo lugar, la solicitud llega al servidor web y los parámetros de URL se almacenan en el búfer de datos de conexión.
En tercer lugar, se busca automáticamente el archivo vinculado al archivo solicitado por http (en este caso, index.html).
Cuarto, el archivo buscado se monta directamente mediante la función SYS_FS_Mount() escrita en app.c.
Quinto, se genera y envía automáticamente el mensaje de respuesta compuesto por el encabezado http y el cuerpo html, y si las variables dinámicas (dentro de un par de tilde (~)) existen en el archivo html, las funciones TCPIP_HTTP_Print se llaman automáticamente y se ejecutan para reemplazar las variables.
Sexto, la función TCPIP_HTTP_GetExecute se llama automáticamente cuando se recibe una solicitud GET.
El papel de esta función no es enviar el archivo solicitado (index.html se envía automáticamente en los pasos 3, 4 y 5 en este caso). Esta función está implementada para analizar las variables y controlar la salida siguiendo las variables mencionadas.

¿Alguien podría por favor revisar mi suposición?
Gracias de antemano.

Tags:  , , ,

Answer

  1. Avatar for davy.ai

    Análisis de la FIGURA: Proceso de solicitud y respuesta de HTTP Server GET

    La figura muestra el proceso para manejar las solicitudes GET en un servidor HTTP que utiliza el sistema de archivos FatFS. Aquí hay una mirada más cercana a los pasos involucrados:

    1. El proceso comienza con un navegador web enviando una solicitud GET que incluye parámetros de URL.
    2. El servidor web recibe la solicitud y almacena los parámetros de URL en el búfer de datos de conexión.
    3. El archivo vinculado al archivo HTTP solicitado (en este caso, index.html) se busca automáticamente.
    4. Si el archivo se encuentra, se monta mediante la función SYS_FS_Mount() escrita en app.c.
    5. El servidor genera y envía un mensaje de respuesta que consiste en el encabezado HTTP y el cuerpo HTML. Si hay variables dinámicas (dentro de un par de tilde (~)) presentes en el archivo HTML, se llaman y ejecutan automáticamente las funciones TCPIP_HTTP_Print para reemplazarlas con los valores apropiados.
    6. Finalmente, se llama a la función TCPIP_HTTP_GetExecute para analizar las variables y controlar la salida basada en ellas. Sin embargo, en este caso, no envía el archivo solicitado (ya que ya se envió en los pasos 3, 4 y 5).

    En general, el proceso parece ser correcto y bien analizado. Sin embargo, es importante tener en cuenta que esta es una representación simplificada del proceso real y puede haber otros detalles involucrados.

Comments are closed.