我正在使用 System.Net.WebClient.DownloadFile 从公共 Web 服务器下载大量 html 文件。我想启用压缩,因为这可能会大大减少数据传输。在上一个问题中有人告诉我,我应该设置“Accept-Encoding: gzip, deflate”标头。WebClient 有一个 Headers 属性允许这样做。
我对此有几个问题:
- 假设 Web 服务器可以识别标头,这适用于 DownloadFile 方法还是仅适用于 DownloadData 方法?我在 MSDN 或其他网站上找不到有关此的任何信息。
- 如果它不适用于 DownloadFile,实现将压缩数据下载到文件的最简单方法是什么?
- 是否需要为服务器设置任何其他标头来压缩其数据?在一个旧的codinghorror.com条目中,Jeff Atwood 说“UserAgent”标头也需要设置,但我不知道该值应该是什么。