虽然HTTP 1.1规范似乎允许DELETE请求上的消息体,但它似乎表明服务器应该忽略它,因为它没有定义的语义.
4.3消息正文
服务器应该在任何请求上读取和转发消息体; 如果请求方法不包含实体主体的定义语义,那么在处理请求时应该忽略消息主体.
我已经回顾了有关SO及其他内容的几个相关讨论,例如:
大多数讨论似乎都同意允许在DELETE上提供消息体,但通常不建议这样做.
此外,我注意到各种HTTP客户端库中的趋势,这些库中似乎记录了越来越多的增强功能,以支持DELETE上的请求主体.大多数图书馆似乎都有责任,尽管偶尔会有一些初步阻力.
我的用例要求在DELETE上添加一些必需的元数据(例如删除的"原因",以及删除所需的一些其他元数据).我已经考虑了以下选项,其中任何一个看起来都不合适,并且与HTTP规范和/或REST最佳实践内联:
POST /resourceToDelete { deletemetadata }
)POST不是删除的语义选项; POST实际上代表了所需的相反操作(即POST创建资源下属;但我需要删除资源)我的第一个偏好可能是使用消息体,第二个是自定义HTTP头; 但是,如上所述,这些方法存在一些缺点.
是否有任何与REST/HTTP标准一致的建议或最佳实践,以便在DELETE请求中包含此类必需的元数据?还有其他我没有考虑的替代方案吗?
我想根据客户端为活动请求使用的URL创建URL.有没有什么比采取当前HttpServletRequest
对象更聪明,它的getParameter...()
方法是重建完整的URL,包括(和仅)它的GET参数.
澄清:如果可能,我想退出使用HttpServletRequest
对象.
在我的ASP.NET MVC控制器中,我有一个需要一个HttpRequest
对象的方法.我有权访问的只是一个HttpRequestBase
对象.
无论如何我可以以某种方式转换这个?
我能做什么/应该做什么?
如何在提交表单时在POST标题中设置自定义字段?
我已经阅读了很多相关内容,但无法就此主题得出结论.
但我从未使用过PUT或DELETE HTTP Request方法.我倾向于在系统(我的应用程序或网站)的统计数据可能不受影响(如产品列表)时使用GET,并在受影响时使用POST(下订单).是不够还是我错过了什么?
我在运行长操作时遇到IIS的请求超时.在我的ASP.NET应用程序处理数据的场景后面,但正在处理的记录数量很大,因此操作需要很长时间.
但是,我认为IIS超出了会话时间.这是IIS或ASP.NET会话的问题吗?
提前致谢
如何在ruby中发送JSON请求?我有一个JSON对象,但我不认为我可以这样做.send
.我必须有javascript发送表格吗?
或者我可以在ruby中使用net/http类吗?
用header - content type = json和body json对象?
我正在尝试访问Java Servlet过滤器中的两个http请求参数,这里没什么新东西,但是很惊讶地发现参数已经被消耗了!因此,它在过滤器链中不再可用.
似乎只有在参数进入POST请求主体(例如表单提交)时才会出现这种情况.
有没有办法读取参数而不消耗它们?
到目前为止,我只找到了这个引用:使用request.getParameter的Servlet过滤器丢失了Form数据.
谢谢!
我有一个PHP脚本需要很长时间(5-30分钟)才能完成.为了防止重要,脚本使用curl从另一台服务器中抓取数据.这就是它花了这么长时间的原因; 它必须等待每个页面加载,然后再处理它并移动到下一页.
我希望能够启动脚本并让它完成,直到它完成,这将在数据库表中设置一个标志.
我需要知道的是如何在脚本运行完成之前结束http请求.另外,php脚本是最好的方法吗?
我对Java很新,所以对某些人来说这似乎是显而易见的.我在ActionScript上做了很多工作,这是基于事件的,我很喜欢.我最近尝试编写了一小部分执行POST请求的Java代码,但我遇到了一个问题,即它是一个同步请求,因此代码执行会等待请求完成,超时或出现错误.
如何创建异步请求,代码继续执行,并在HTTP请求完成时调用回调?我瞥了一眼线程,但我认为这太过分了.
httprequest ×10
http ×2
java ×2
apache ×1
asp.net ×1
asp.net-mvc ×1
asynchronous ×1
curl ×1
html ×1
http-method ×1
http-post ×1
iis ×1
iis-6 ×1
javascript ×1
json ×1
parameters ×1
php ×1
post ×1
rest ×1
ruby ×1
servlets ×1
spring-mvc ×1
url ×1
web ×1