我无法在标准中找到明确的规格说明。我有一个HTTP客户端在执行PUT请求时没有包含'Content-Length:0'标头,但我没有指定正文,并且服务器被这些请求弄糊涂了,我在想我应该使用哪个程序责怪。是否需要包含正文的HTTP PUT请求?
回答
如果HTTP请求具有Content-Length或Transfer-Encoding标头(RFC 2616 4.3),则它们具有主体。如果请求没有,它没有主体,你的服务器应该这样对待它。
也就是说,PUT请求没有任何主体是不寻常的,所以如果我设计的客户端真的想发送一个空的主体,我会通过Content-Length:0。阅读POST和PUT方法定义(RFC 2616 9.5, 9.6),人们可能会认为暗示身体是必需的 - 但是,处理任何身体的合理方法是假定零度身体。
内容长度字段是必需按照以下部分中的HTTP/1.1标准http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.13
什么正在被PUT(在动词意义上)到服务器如果没有内容? spec将内容称为“封闭实体”,但没有内容的请求不会有封闭的实体,因此没有放置在服务器上。
当然,除非你想把任何东西都放到服务器上,在这种情况下,你可能需要一个DELETE。
不回答问题,但断言JAXRS如何让我经常使用bodyless看跌期权:bodyless放的
例子: 给用户的其他权限。
PUT /管理/用户/ {名} /许可/ {许可}
正是我问题!我得出了同样的结论。但严格来说,这违背了RFC,虽然没有明确提及,但是body被称为存在的。这可能会导致问题,但根据我的经验,所有现代Web服务器/框架都可以工作。 – 2016-11-22 10:25:07
的主体不是由IETF标准要求,虽然内容长度应为0如果没有体。使用适合你正在做的事情的方法。如果你把它转换成代码,给
int x;
int f(){ return x; }
,并呼吁r
远程变量。
赛后相当于
r=f();
看跌相当于
r=x;
和GET相当于
x=r;
这是PUT vs POST我读过的最明显的例子,虽然没有主题 – 2018-01-16 14:35:48
- 1. PHP是否包含HTTP请求?
- 2. Http Put请求
- 3. 包含API请求的循环是否需要回调?
- 4. AFNetworking HTTP PUT请求
- 5. 阅读PUT请求正文
- 6. Http POST请求URL包含'['
- 7. 格式良好的HTTP请求是否可以包含“NULL”?
- 8. 包含/需要HTTP地址
- 9. PUT http请求查询
- 10. 角4.0 HTTP PUT请求
- 11. C#HTTP PUT请求代码
- 12. Ajax HTTP请求更改请求正文中包含数组的JSON
- 13. 仅当客户端请求图像时,http请求标头是否包含“img”?
- 14. 对于新的SSL证书请求,您是否需要包含端口?
- 15. 是否所有的Web请求都包含请求者的IP?
- 16. 使用HttpURLConnection发送包含PUT请求的文件
- 17. 检查是否实际需要包含的JavaScript文件
- 18. Ruby:使用JSON正文的PUT请求?
- 19. 802.11探测请求是否包含真正的BSSID?
- 20. 是否需要手动请求缓冲?
- 21. 请求正文HTTP PUT采样器未发送
- 22. 我是否需要包含support-v7/appcompat?
- 23. 执行PUT请求时的HTTP 403
- 24. 的Rails 5.1 - 网/ HTTP PUT请求
- 25. zendframework/zend-http软件包需要49个组件是否正常?
- 26. PHP获取PUT请求正文
- 27. 龙卷风PUT请求缺少正文
- 28. 如何判断POST请求是否包含要在Sails.js中上传的文件?
- 29. HTTP请求包含粗俗字符
- 30. 在http请求中包含Web令牌
这是一个不应该必须的 – bdonlan 2009-08-05 14:16:19