Mongoose Web Server HTTP标头速度极慢

Mongoose Web Server HTTP Headers extremely slow

本文关键字:速度 Web Server HTTP Mongoose      更新时间:2023-10-16

我有一个mongoose服务器,其中的命令可以用AJAX调用。如果我在没有从mongoose发送HTTP头的情况下调用它,我会收到CORS错误(但用浏览器访问地址很好),但当我发送头时,可能需要一分钟才能得到响应(但它确实有效),无论是AJAX还是浏览器。我的回复代码:

//without headers
mg_printf(conn,reply.c_str());
//with headers
mg_printf(conn,"HTTP/1.1 200 OKrn"
    "Content-Type: text/plainn"
    "Cache-Control: no-cachen"
    "Access-Control-Allow-Origin: *nn"
    "%sn", reply.c_str());

我该如何加快速度?我的标题发错了吗?


好的,我找到了一个解决方案,如果我首先检查请求是否是api调用,并且只在是的时候发送头,它就会工作。

猫鼬之所以慢,是因为它会等待其余内容,直到超时。它等待的原因是您没有设置"内容长度",在这种情况下,"内容结束"标记是在连接关闭时。

因此,正确的解决方案是:

  • 添加具有正确正文长度的Content-Length标头,OR
  • 或者,使用mg_send_header()mg_printf_data()函数,在这种情况下,您不需要使用Content-Length,因为这些函数使用分块编码