For query jobs, Bulk API 2.0 can compress the response body, which reduces network traffic and improves response time.
tip: If encoding is enabled for Bulk API 2.0 Query job responses, there is a significant improvement in performance of query result downloads. This not the total query time, but a reduction in the time to download the results.
Responses are compressed if the client makes a request using the Accept-Encoding header, with a value of gzip. Bulk API 2.0 compresses the response in gzip format and sends the response to the client with a Content-Encoding: gzip response header. If a request is made using the Accept-Encoding header with a value other than gzip, the encoding type is ignored, and the response isn’t compressed.
As an example, if a Get Results for a Query Job request is made with the Accept-Encoding: gzip header, the response looks something like:
HTTP/1.1 200 OK
Date: Tue, 09 Oct 2012 18:36:45 GMT
Content-Type: text/csv; charset=UTF-8
Content-Encoding: gzip
Transfer-Encoding: chunked
...compressed response body...
Bulk API 2.0 follows the HTTP 1.1 standards for response compression, as described in Using Compression. Most clients automatically support compressed responses. Even though you request a compressed response, the REST framework sometimes doesn’t send back the response in a compressed format. See the REST API Developer Guide.