我正在寻找一个适当的HTTP状态代码,该代码告诉接收方仅是在发送元数据,而不是完整的数据。
例如,假设您执行HTTP GET:
GET /foo?meta_data_only=yes
例如,服务器将不会查找完整的数据,而只是发送一些有关端点的元数据。响应的HTTP状态代码可以表示吗?我猜是在200或300左右的某个地方?
答案 0 :(得分:1)
由于您的元数据已在标头中返回,因此我将发送状态代码204 No Content。
服务器已成功满足请求,并且没有 在响应有效内容正文中发送的其他内容。
元数据 响应头字段引用目标资源及其资源 在执行请求的操作后选择了代表性。
这听起来完全像您要寻找的内容:一个成功的响应,不包含任何正文,标头中的元数据提供了有关资源的更多信息。
值得注意的另一件事是,通常只需要元数据时使用HTTP动词HEAD
。 HEAD
与GET
非常相似,除了它指定您不希望身体退回。例如,如果您对图片网址执行HEAD,则会收到204 No Content响应以及有关文件的一些元数据,例如Content-Type,Content-Size,也许是ETag,但不会发送所有文件数据。许多Web服务器(例如Nginx)为静态文件开箱即用地支持此行为。我建议您停止使用querystring参数,而是实现端点的HEAD版本。这将使意图更加清晰和直观。