Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/http/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
仅发送回元数据而非完整数据的HTTP状态代码_Http_Http Status Codes - Fatal编程技术网

仅发送回元数据而非完整数据的HTTP状态代码

仅发送回元数据而非完整数据的HTTP状态代码,http,http-status-codes,Http,Http Status Codes,我正在寻找一个合适的HTTP状态代码,它告诉接收者只发送元数据,而不是完整的数据 例如,假设您执行HTTP GET: GET /foo?meta_data_only=yes 服务器不会查找完整的数据,例如,只发送一些关于端点的元数据。响应是否有HTTP状态代码可以表示这一点?我猜它是在200年代或300年代的某个地方?因为您的元数据是在标题中返回的,所以我会发送204无内容的状态代码 服务器已成功完成请求,并且没有 要在响应有效负载正文中发送的其他内容 元数据 响应头字段引用目标资源及其名称

我正在寻找一个合适的HTTP状态代码,它告诉接收者只发送元数据,而不是完整的数据

例如,假设您执行HTTP GET:

GET /foo?meta_data_only=yes

服务器不会查找完整的数据,例如,只发送一些关于端点的元数据。响应是否有HTTP状态代码可以表示这一点?我猜它是在200年代或300年代的某个地方?

因为您的元数据是在标题中返回的,所以我会发送204无内容的状态代码

服务器已成功完成请求,并且没有 要在响应有效负载正文中发送的其他内容

元数据 响应头字段引用目标资源及其名称 应用请求的操作后选择的表示形式

这听起来和您要寻找的完全一样:一个不包含正文的成功响应,以及在标题中提供关于资源的附加信息的元数据


另一件值得注意的事情是,当您只需要元数据时,通常使用HTTP动词
HEAD
HEAD
GET
非常相似,只是它指定您不希望返回实体。例如,如果你对一个图像url做了一个HEAD,你会得到一个204 No Content响应和一些关于文件的元数据,比如内容类型、内容大小,可能还有ETag,但是你不会收到所有的文件数据。许多web服务器(如Nginx)都支持这种静态文件的开箱即用行为。我建议您停止使用querystring参数,而是实现端点的HEAD版本。这将使意图更加清晰直观。

您是将元数据作为标题还是在正文中返回?如果是标题,我会说204没有内容。是的,标题中的元数据,很可能是空的。好的想法,如果没有人有更好的建议,很快就会接受。谢谢。我刚刚用另一个建议更新了我的示例@没有问题!在过去,我曾看到在分页JSONAPI端点上使用HEAD请求,该端点通常返回一组结果。HEAD版本没有正文,但返回了一些标题,这些标题提供了有关当前每页值、有多少页结果、有多少个总结果等的详细信息。然后服务器看到这些,并选择只进行计数查询,因为这就是满足请求所需的全部内容(与免费选择大量记录相反).我想同时支持HEAD和一个神奇的查询参数名称并不是世界末日。.但是,使用HEAD和204响应是很好的。如果你认为两者都有价值,你肯定可以同时做这两件事。我个人只会做HEAD,但那只是我自己。只要你清楚地记录下使用它的人的工作方式,做你想做的事情新界!