我需要使用OkHTTP
库检查HTTP请求
的响应头。在加载数据之前,我需要检查它的最后更新时间。问题在于响应体大小约为2 MB
,因此我只需要获取Last-Modified
头信息。是否可以仅加载响应头而不加载响应体以提高程序RESTful操作的速度?
HEAD 方法与 GET 方法相同,除了服务器不得在响应中返回消息正文外。响应的 HTTP 标头中包含的元信息应与响应 GET 请求时发送的信息相同。该方法可用于获取有关请求所暗示的实体的元信息,而无需传输实体正文本身。此方法通常用于测试超文本链接的有效性、可访问性和最近修改。
(http://www.w3.org/Protocols/rfc2616/rfc2616-sec9.html)
OkHttp 的示例:
String url = ...
Request request = new Request.Builder().url(url).head().build();
close()
方法关闭它而不会浪费太多资源。HEAD
和GET
请求,除非你预计放弃请求的比例很大(例如>90%)。response.body()
前,它会下载前几个 KiB,但不会下载太多。 - Jesse Wilson
Request.Builder
中的head()
方法。这有帮助吗? - wero