[译] —— 508 环路检测

- 1 min

508 环路检测 是一个由 WebDAV 规范扩展 引入的状态码。

该扩展为支持“绑定”功能而增加的。相比于 HTTP,WebDAV 本身更像一个文件协议,绑定扩展通过 BINDUNBIND 方法为类似“硬链接”的特性提供了支持。

WebDAV 允许一个客户端从服务器获取信息并且请求整个目录树结构。绑定扩展使得链接一个资源成为可能,并且可以在整个树状结构中创建一个目标链接。

因为它可以一直指向它自己,这就使得创建一个“无限深层”的目录结构成为一种可能。

当这种情况发生,服务器就会返回一个 508 环路检测 状态码告诉客户端,不可能返回一个无穷大的结果。

由于很少 WebDAV 服务器支持该功能,因此进入它的速度会非常快。

HTTP/1.1 508 Loop Detected
Content-Tpye: text/plain

There was a loop detected in the directory tree, which means that we're not able to return a full directory tree.

我应该使用吗?

也许吧。即使只是一个 WebDAV 规范,其它种类的 API 也许也许也支持递归链接结构。但如果这种 API 需要一个可以返回整个树的功能,这种毫无副作用的状态码可谓再合适不过了。

然而,选择返回 5xx 系列状态码有点奇怪。如果一个系统允许递归链接结构的资源,并且用户请求调用该资源,那其实客户端是有问题的。

参考


原文地址:https://evertpot.com/http/508-loop-detected


circle

circle

Keep taking risks till you find your passion

rss facebook twitter github gitlab youtube mail spotify lastfm instagram linkedin google google-plus pinterest medium vimeo stackoverflow reddit quora quora list2