如何仅获取带有 HTTP GET 请求的标头而不获取正文

Ale*_*min 0 c# http

是否有机会让 http get 请求、读取标头而不是获取正文以减少流量和提高速度?我使用这个代码:

HttpWebRequest request = (HttpWebRequest)HttpWebRequest.Create(u1);
        request.AllowAutoRedirect = true;
        request.Timeout = 30000;
        request.Method = "GET";
        request.UserAgent = "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/49.0.2623.110 Safari/537.36";
        request.KeepAlive = true;
        HttpWebResponse response;

        using (response = (HttpWebResponse)request.GetResponse())
        {
            var res = response.ResponseUri.ToString();
        }
Run Code Online (Sandbox Code Playgroud)

所以我只需要结果网址。如果有重定向(位置标头) - 我会得到结果 url。但我不需要身体。使用 GET 方法(不是 HEAD 方法)获得响应以在没有响应正文的情况下获得结果是否真实?

LB2*_*LB2 5

GET在返回主体的资源上使用意味着您想要获取主体。 HEAD假设服务器资源支持它,它完全是为您正在寻找的东西而设计的。

如果服务器不支持HEAD,您可能会使用Range标头来仅请求几个字节,但这也取决于支持它的资源,并且是一种黑客攻击。