|      1missdeer      2021-04-19 07:18:49 +08:00 via Android 客户端侧不同连接不同端口 | 
|  |      2AngryPanda      2021-04-19 09:02:07 +08:00  1 开启多线程下载: ``` axel -n 20 https://mirrors.163.com/ubuntu-releases/20.10/ubuntu-20.10-live-server-amd64.iso ``` 另外开个终端看端口 `netstat -antp | grep axel`, 输出类似于: ``` tcp 0 0 192.168.0.101:50326 125.77.20.37:80 ESTABLISHED 18142/axel tcp 0 0 192.168.0.101:48718 183.146.17.167:80 ESTABLISHED 18142/axel tcp 0 0 192.168.0.101:56402 106.225.229.135:80 ESTABLISHED 18142/axel tcp 0 0 192.168.0.101:48720 183.146.17.167:80 ESTABLISHED 18142/axel tcp 0 0 192.168.0.101:52922 60.174.42.166:80 ESTABLISHED 18142/axel tcp 0 0 192.168.0.101:58068 183.146.17.165:80 ESTABLISHED 18142/axel tcp 0 0 192.168.0.101:50356 125.77.20.37:80 ESTABLISHED 18142/axel tcp 0 0 192.168.0.101:48712 183.146.17.167:80 ESTABLISHED 18142/axel tcp 0 0 192.168.0.101:58060 183.146.17.165:80 ESTABLISHED 18142/axel tcp 0 0 192.168.0.101:58094 183.146.17.165:80 ESTABLISHED 18142/axel tcp 0 0 192.168.0.101:50340 125.77.20.37:80 ESTABLISHED 18142/axel tcp 0 0 192.168.0.101:36068 183.146.17.166:80 ESTABLISHED 18142/axel tcp 0 0 192.168.0.101:33660 106.225.229.134:80 ESTABLISHED 18142/axel tcp 0 0 192.168.0.101:48234 125.77.20.38:80 ESTABLISHED 18142/axel tcp 0 0 192.168.0.101:50324 125.77.20.37:80 ESTABLISHED 18142/axel tcp 0 0 192.168.0.101:44112 60.174.42.167:80 ESTABLISHED 18142/axel tcp 0 0 192.168.0.101:53444 60.174.42.165:80 ESTABLISHED 18142/axel tcp 0 0 192.168.0.101:52910 60.174.42.166:80 ESTABLISHED 18142/axel tcp 0 0 192.168.0.101:33686 106.225.229.134:80 ESTABLISHED 18142/axel tcp 0 0 192.168.0.101:48242 125.77.20.38:80 ESTABLISHED 18142/axel ``` | 
|      3ebingtel      2021-04-19 09:02:30 +08:00 取决于用了几个连接……多连接的话,客户端是从多个端口发出请求 | 
|  |      4zongren      2021-04-19 09:18:50 +08:00 http 无状态,取决于你的 header 里有没有设备唯一标识 | 
|  |      5no1xsyzy      2021-04-19 09:25:19 +08:00 客户端用同一个端口能算是并发请求吗? 五元组唯一确定一个连接 | 
|      6jorneyr      2021-04-19 09:40:51 +08:00 每个连接在客户端都有自己独立的、唯一的、不冲突端口 | 
|  |      7abersheeran      2021-04-19 09:42:13 +08:00 多线程下载能提高速度的原因就是用了多个 TCP 信道。 | 
|  |      8ericls      2021-04-19 10:20:10 +08:00 via iPhone 看客户端的具体实现 | 
|  |      9ch2      2021-04-19 10:24:21 +08:00 via iPhone 多连接就是多端口,不开多连接就只有一个端口 | 
|  |      10caola      2021-04-19 10:25:12 +08:00 http2 应该是一个端口通道吧 | 
|  |      11est      2021-04-19 10:33:44 +08:00 这个情况可以讨论的 1. 如果客户端有多个 IP,一般不会来自同一个端口。但是可以做到 2. 如果服务器端有多个 IP,可以做到客户端来自同一个端口 3. 传输协议如果是 h2 之类的支持复用的,那么多半是来自同一个端口 | 
|  |      12zhengxiaowai      2021-04-19 13:42:16 +08:00 HTTP/1.1 只能是 ping-pong 模式,所以只能是多个链接。。。 | 
|  |      13newmlp      2021-04-19 13:48:11 +08:00 http1.1 肯定是多个端口,因为每个 tcp 链接算一个会话 | 
|  |      14ysc3839      2021-04-19 19:40:34 +08:00 via Android 一般口头上说的“多线程下载”其实指的是多连接下载,在这个语境下是从不同端口发出去的。 | 
|  |      15css3      2021-04-19 19:44:57 +08:00 顺着再请教下这个问题,多个线程下载同一个文件,是要把一个文件拆成多份吗?最后再合并成一个吗? |