http - 用于仅发送回元数据而不是完整数据的 HTTP 状态代码
问题描述
我正在寻找一个适当的 HTTP 状态代码,它告诉接收者只发送元数据,而不是完整的数据。
例如,假设您执行 HTTP GET:
GET /foo?meta_data_only=yes
例如,服务器不会查找完整的数据,只是将一些有关端点的元数据发回。是否有可以代表此响应的 HTTP 状态代码?我猜它在200或300的某个地方?
解决方案
由于您的元数据在标头中返回,因此我将发送状态代码 204 No Content。
服务器已成功完成请求,并且响应负载正文中没有要发送的其他内容。
响应头字段中的元数据指的是目标资源及其在应用请求的操作后选择的表示。
这听起来与您正在寻找的完全一样:一个不包含正文的成功响应,并且标头中的元数据提供了有关资源的更多信息。
另一件值得注意的事情是,HEAD
当您只需要元数据时,通常使用 HTTP 动词。HEAD
与 非常相似GET
,只是它指定您不想要身体回来。例如,如果您对图像 url 执行 HEAD,您将收到 204 No Content 响应和有关文件的一些元数据,例如 Content-Type、Content-Size,可能是 ETag,但不会向您发送所有文件数据。许多 Web 服务器(例如 Nginx)支持这种对静态文件开箱即用的行为。我建议您停止使用查询字符串参数,而是实现端点的 HEAD 版本。这将使意图更加清晰和直观。
推荐阅读
- python - 从 Selenium 中的标签中抓取其他元素
- scheme - 在方案中使用平等 - 为什么有时它是有效的,有时不是
- javascript - Catch 块包装了一个在未执行的 setTimeout 内抛出的函数
- html - 条件渲染反应
- c# - dispose方法c#类,常见注释“直到垃圾收集器才被释放”
- python - 如何使用xpath scrapy获取具有相同类名的不同元素
- java - 使用 Java 从 Amazon S3 获取链接的最简单方法是什么?
- asp.net-core - .Net Core 是否可以根据启动设置中的环境更改用户密码?
- c# - Azure Blob 上传错误:无法加载文件或程序集 'System.Threading.Tasks.Extensions,版本 = 4.2.0.0
- spring-boot - thymeleaf:处理模板时获取 ArrayIndexOutOfBoundsException