是否需要一个HTTP PUT请求包括身体?(Is an HTTP PUT request requi

2019-06-28 00:56发布

我无法在标准找到的这一个明确的规范。 我还不包括一个HTTP客户端Content-Length: 0做PUT请求,我不指定身体的时候头,并得到由这样的要求感到困惑的服务器,我想知道哪个程序我应该被指责。

Answer 1:

HTTP请求具有一个主体,如果他们有一个内容长度或Transfer-Encoding头( RFC 2616 4.3 )。 如果请求既没有,它没有身体,你的服务器应该把它看作这样。

这就是说它是不寻常的PUT请求,没有身体,所以如果我设计一个客户端,真正想送一个空的身体,我会传球的Content-Length:0。事实上,这取决于POST一个人的阅读并把方法定义( RFC 2616 9.5,9.6 )可能有人会说身体暗示需要-但处理没有身体合理的方式是假设零长度体。



Answer 2:

不回答问题,但断言JAXRS如何让我经常使用bodyless看跌期权:

bodyless放的例子:给用户的其他权限。

PUT /管理/用户/ {名} /许可/ {}权限



Answer 3:

A body is not required by the IETF standard, though the content-length should be 0 if there's no body. Use the method that's appropriate for what you're doing. If you were to put it into code, given

int x;
int f(){ return x; }

and a remote variable called r.

A post is equivalent to

r=f();

A put is equivalent to

r=x;

and a get is equivalent to

x=r;


Answer 4:

什么是被放在(在动词的意义上)到服务器上,如果没有内容? 该规范是指内容“封装的实体”,但没有内容的请求就没有封闭的实体,因此没有把服务器上。

当然,除非,你想什么放到服务器上,在这种情况下,你可能要代替DELETE。



Answer 5:

内容长度字段是必需按照在HTTP / 1.1标准以下部分http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.13



文章来源: Is an HTTP PUT request required to include a body?
标签: http