如果不复用,并发上千不,是得上千次握手,好像是很浪费性能。浏览器应该是会复用,不然加载几百图片都得握手。
1
arloor 2020-08-29 22:04:25 +08:00
http1.1 做的事情是让一条 tcp 连接能传输多个请求-响应(不过多个请求一定是串行的)
http2 做的事情是一条 tcp 链接能同时并行多个请求-响应 从 http1.0 到 http1.1 再到 http2,一直在追求更有效的链接复用。而 https 其实就是 http over tls,也是遵循 http 协议的。目前 http2 也比较普遍了,也就是并行的多路复用现在在浏览器中已经比较普遍了。对于图片加载,js 资源加载,css 资源加载这种静态资源,或者服务端渲染的东西,连接复用程度还是比较高的。 但是,Ajax 这种请求,不能确定是否使用了 http 的长连接,如果是短连接(一个请求-响应后就断开),则没有复用 tcp 连接。 |
2
holinhot OP @arloor 例如使用 curl -i https://google.com 这样执行 100 次,SSL 会话是会复用的吗
|
4
msg7086 2020-08-30 09:27:20 +08:00
都退出了还怎么保存。会话的前提是端口上的连接还在。程序退出了,连接当然都会被杀掉。
|
5
ysc3839 2020-08-30 19:20:44 +08:00 via Android
要看具体是什么 http 库的,浏览器显然会复用连接。
至于命令行的 curl,是不会的,而且操作系统应该有限制,进程退出后会断开 TCP 连接。 |