调用 HTTPS API 默认是会用会话复用的吗 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
holinhot
V2EX    问与答

调用 HTTPS API 默认是会用会话复用的吗

  •  
  •   holinhot 2020-08-29 19:44:00 +08:00 1324 次点击
    这是一个创建于 1873 天前的主题,其中的信息可能已经有所发展或是发生改变。

    如果不复用,并发上千不,是得上千次握手,好像是很浪费性能。浏览器应该是会复用,不然加载几百图片都得握手。

    6 条回复    2020-08-30 22:29:14 +08:00
    arloor
        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 连接。
    holinhot
        2
    holinhot  
    OP
       2020-08-30 02:09:36 +08:00
    @arloor 例如使用 curl -i https://google.com 这样执行 100 次,SSL 会话是会复用的吗
    holinhot
        3
    holinhot  
    OP
       2020-08-30 02:10:32 +08:00
    @holinhot 似乎 curl 退出后并不会保存任何会话
    msg7086
        4
    msg7086  
       2020-08-30 09:27:20 +08:00
    都退出了还怎么保存。会话的前提是端口上的连接还在。程序退出了,连接当然都会被杀掉。
    ysc3839
        5
    ysc3839  
       2020-08-30 19:20:44 +08:00 via Android
    要看具体是什么 http 库的,浏览器显然会复用连接。
    至于命令行的 curl,是不会的,而且操作系统应该有限制,进程退出后会断开 TCP 连接。
    holinhot
        6
    holinhot  
    OP
       2020-08-30 22:29:14 +08:00
    @ysc3839 那个 IOS 或安卓 App 内调接口会复用连接吗
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     5283 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 30ms UTC 07:09 PVG 15:09 LAX 00:09 JFK 03:09
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86