业务场景:网页下载一个2G的压缩包,担心apache那边超时,目前apche配置120分钟超时,
后来得知这个文件下载是一个长连接不存在超时情况。
引发联想问题:
问题1:大文件下载,服务器会被占用带宽(导致(在线用户量减少)并发数减少甚至服务器宕机)
问题2:代码压缩大文件,如果是全部读取完文件在压缩,占用大量内存服务器内存无法承受。 问题3:下载文件是否会超时。下面apache超时配置说明:
keepAliveTimeout(连接存活时间,超过这个时间那么需要再新建另一个连接)
timeout(浏览器和服务器连接的超时时间,超过这个时间服务器就会和浏览器断开),connection time-outMaxKeepAliveRequests表示一个连接最大支持的请求数。超过该请求数的连接也将被关闭
(此时就会返回一个Connection: close头给客户端)
整理知识点:http、长连接、短连接、tcp、udp、socket。
HTTP的长连接和短连接本质上是TCP长连接和短连接,经典的tcp3次握手
http1.0默认连接为短连接,及客户端向服务器发送一次请求,服务器端响应后连接即会断掉
http1.1后默认连接为长连接, Connection:Keep-Alive
socket:套接字,api封装包
后续补充哈。。。。