Commands.page Logo

How to Use HTTP Pipelining in aria2 on Ubuntu

This guide explains how to configure and use HTTP pipelining with the aria2 command-line utility on Ubuntu. By enabling this feature, users can potentially improve download efficiency by requesting multiple resources over a single persistent connection. We will cover the specific command-line syntax required to activate pipelining and provide practical examples for immediate use.

Prerequisites

Ensure you have aria2 installed on your Ubuntu system. You can install it using the following command:

sudo apt update
sudo apt install aria2

Syntax for HTTP Pipelining

To enable HTTP pipelining in aria2, you must use the --http-pipelining flag set to true. The basic syntax for downloading a file with this feature enabled is:

aria2c --http-pipelining=true [URL]

For better performance, it is often recommended to combine pipelining with multiple connections. You can specify the number of connections per server using the -x flag.

aria2c --http-pipelining=true -x 16 [URL]

Permanent Configuration

If you want to enable HTTP pipelining by default for all downloads, you can edit the aria2 configuration file. Open or create the file located at ~/.aria2/aria2.conf and add the following line:

http-pipelining=true

Save the file and exit. Future aria2 commands will now use HTTP pipelining without needing the manual flag.

Note on Compatibility

Be aware that HTTP pipelining relies on server support. Many modern web servers disable HTTP/1.1 pipelining due to head-of-line blocking issues. If you do not see performance improvements, the server likely does not support this feature, and standard multi-connection downloads (-x) will be more effective.