Mongoose Web Server HTTP标头速度极慢
Mongoose Web Server HTTP Headers extremely slow
我有一个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
,因为这些函数使用分块编码
相关文章:
- 为什么在读取文件大小时文件IO速度会发生变化
- 为什么std::condition_variable notify_all的工作速度比notify_one快(对于随机请
- 文件系统:复制功能的速度秘诀是什么
- 学习多线程C++:添加线程不会使执行速度更快,即使它看起来应该
- 用于将C++代码转换为 Web 程序集的脚本未终止
- 在C++中使用并行化的预期速度是多少(不是 OpenMp,而是 <thread>)
- 两个连续的 OpenMP 并行区域会相互减慢速度
- C# DLL 从C++应用程序调用 SOAP Web 服务
- 查找标准::hash_map与标准::矢量的速度
- 加快在C++中读取/处理日志文件的速度
- 为什么这些算法的运行速度比它们应该的要快?
- OpenCV(C++)处理来自JavaScript / Web Assembly的图像数据
- 如何提高文件的读取速度?
- 通过libpqxx提高PostgreSQL数据库的更新速度
- 使用 IMFSinkWriter 编码的视频的播放速度会根据宽度而变化
- 计算车辆之间的距离并设置速度,使距离保持不变,例如 5 米
- 如何加快大字符串的解析速度?
- 如何比较两个函数的速度和性能
- 线程相互减慢速度
- Mongoose Web Server HTTP标头速度极慢