当前位置:首页 > linux > 正文内容

http客户端关闭请求,服务端仍然还会执行。基于tcp的http运行

root5年前 (2021-07-06)linux1487

在实际开发过程中,服务端有部分api是比较消耗时间,例如读取文件。

如果客户端等不及,刷新请求,或者不断刷新请求。

服务器端将会不断打开新的文件,资源消耗很长大。很容易就导致服务宕机


当然还有通过nginx提供静态文件下载的,这种情况,是分块读取文件,并依次返回,

任何一次的tcp的send失败都会报错并处理,可以是中断也可以是重试


为什么在正常web开发中不能想nginx代理静态文件一样,用户端关闭连接就直接停止服务。

其原因是,http过程中,大多数是在request和response是才有tcp通信,中间的操作并没有通信。

用户断开连接服务端并不知道。在request和response期间的任何操作都无法因用户中断。

除非在进行操作的过程中不断监听一下连接是否断开。


扫描二维码推送至手机访问。

版权声明:本文由一叶知秋发布,如需转载请注明出处。

本文链接:https://zhiqiu.top/?id=136

分享给朋友:

相关文章

一行 Python 实现并行化 -- 日常多线程操作的新思路

一行 Python 实现并行化 -- 日常多线程操作的新思路

Python 在程序并行化方面多少有些声名狼藉。撇开技术上的问题,例如线程的实现和 GIL1,我觉得错误的教学指导才是主要问题。常见的经典 Python 多线程、多进程教程多显得偏“重”。而且往往隔靴搔痒,没有深入探讨日常工作中最有用的内容...

压缩&解压命令

tar 命令-c 建立压缩文档-x 解压-t 查看内容-r 向压缩归档文件末尾追加文件-u:更新原压缩包中的文件上面的参数只能使用一个,跟下面的参数连用-z:有gzip属性的-j:有bz2属性的-Z:有compress属性的-v:...

supervisor的安装使用

一、supervisor简介Supervisor是用Python开发的一套通用的进程管理程序,能将一个普通的命令行进程变为后台daemon,并监控进程状态,异常退出时能自动重启。它是通过fork/exec的方式把这些被管理的进程当作supe...

死亡进程导致在办公室莫名背锅后平反昭雪艰辛之路

死亡进程导致在办公室莫名背锅后平反昭雪艰辛之路

背景:之前就有一个在我账户名下的问题程序,但是并不是我启动的,绝对不是我启动的。但是找不到原因就莫名的背起了锅。然后默默修改了密码(其实然并卵,下面详聊原理),该机器管理员把我踢出了root组(因为没啥程序在上面)起因:今日突然发现一个进程...

Cannot uninstall 'ipaddress'. It is a distutils installed project and thus

强制升级:sudo pip install --ignore-installed +模块名...

修改linux时区

ubuntu:rm  /etc/localtimeln -sf /usr/share/zoneinfo/Asia/Shanghai  /etc/localtimecentos echo "A...