HTTP上的Wikipedia条目列出了以下HTTP请求方法: HEAD:要求响应与对应于GET请求的响应相同,但没有响应主体。 GET:请求指定资源的表示。 POST:提交要处理的数据(例如,从HTML表单)到已标识的资源。 数据包含在请求的正文中。 PUT:上传指定资源的表示。 删除:删除指定的资源。 TRACE:回应收到的请求,以便客户端可以看到中间服务器做了什么(如果有的话)更改或添加。 选项:返回服务器支持指定URL的HTTP方法。 这可以用来通过请求“*”而不是特定资源来检查Web服务器的function。 CONNECT:将请求连接转换为透明的TCP / IP隧道,通常通过未encryption的HTTP代理来实现SSLencryption通信(HTTPS)。 修补程序:用于对资源进行部分修改。 我有兴趣知道(特别是前五种方法): 哪些方法能够(应该?)接收有效载荷 可以接收有效载荷的方法,他们如何接收? 通过URL中的查询string? 通过URL编码的身体? 通过生/分块的身体? 通过以上的([所有/某些])的组合? 我很感激所有的input,如果你可以分享一些(最好是轻的)阅读,那也太好了!
我正在寻找一个Windowsgraphics工具来执行HTTP操作。 例如,我想能够说出如下内容: POST到http://example.org/test/service使用POST正文:“Data goes here” 有没有人知道这样做的好软件?
我正在devise一个Web应用程序,然后停下来考虑如何将我的APIdevise为一个REST风格的Web服务。 目前,我的大多数URI都是通用的,可能适用于各种Web应用程序: GET /logout // destroys session and redirects to / GET /login // gets the webpage that has the login form POST /login // authenticates credentials against database and either redirects home with a new session or redirects back to /login GET /register // gets the webpage that has the registration form POST /register […]
我可以在我的REST API上做一些帮助。 我正在写一个Node.js应用程序,它使用Express,MongoDB,并在客户端有Backbone.js。 我花了最后两天的时间,试图解决所有这些问题,没有太多的运气。 我已经检查过 保护REST API 使用OAuth保护我的REST API,同时仍允许通过第三方OAuth提供者进行身份validation(使用DotNetOpenAuth) http://www.thebuzzmedia.com/designing-a-secure-rest-api-without-oauth-authentication/ http://tesoriere.com/2011/10/10/node.js-getting-oauth-up-and-working-using-express.js-and-railway.js/ 我想保持我的后端和前端尽可能分开,所以我想使用精心devise的REST API会很好。 我的想法是,如果我总是开发一个iPhone应用程序(或类似的东西),它可以使用API来访问数据。 但是,我希望这是安全的。 用户已经login到我的networking应用程序,我想确保我的API是安全的。 我读了关于OAuth,OAuth 2.0,OpenID,Hmac,哈希等…我想避免使用外部login(Facebook / Twitter /等)我想注册和login在我的应用程序/服务器。 …但我仍然在这里困惑。 也许是在深夜,或者我的大脑只是被炸,但我真的可以采取一些措施,在这里做什么。 我有什么步骤来创build一个安全的API? 任何帮助,任何信息,任何示例,步骤或任何东西都会很棒。 请帮忙!
我正在开始为我正在开发的一个项目构build一个REST API,这让我做了一些关于使用RoR构buildAPI的最佳方法的研究。 我很快就发现,默认情况下,模型向全世界开放,只需在URL末尾添加一个“.xml”并传递适当的参数即可通过URL调用。 那么下一个问题就来了。 如何保护我的应用程序以防止未经授权的更改? 在做一些研究时,我发现了一些关于attr_accessible和attr_protected文章,以及如何使用它们。 我在07年5月份发现了这个网站的具体url( 这里 )。 就像所有的事情一样,我确信事情从那时起就发展了。 所以我的问题是,这仍然是在RoR中保护REST API的最好方法吗? 如果不是在“新项目”或“现有项目”scheme中build议什么?
虽然HTTP 1.1规范似乎允许 DELETE请求上的消息体,但似乎表明服务器应该忽略它,因为没有定义它的语义。 4.3消息体 服务器应该读取并转发任何请求的消息体; 如果请求方法不包含实体主体的定义的语义,那么在处理请求时应该忽略消息主体。 我已经回顾了几个关于这个主题的相关讨论,比如: 允许HTTP DELETE请求的实体主体? HTTP请求方法的有效载荷 带请求正文的HTTP GET 大多数讨论似乎都认为可以允许在DELETE上提供消息正文,但通常不推荐使用。 此外,我已经注意到各种HTTP客户端库中的趋势,越来越多的增强function似乎被logging在这些库中以支持DELETE上的请求体。 大多数图书馆似乎有责任,虽然偶尔有一点点的初步阻力。 我的用例需要在DELETE上添加一些必需的元数据(例如删除的“原因”以及删除所需的其他一些元数据)。 我已经考虑了以下选项,其中没有一个看起来完全合适,并且与HTTP规范和/或REST最佳实践一致: 消息体 – 规范表明DELETE上的消息体没有语义值; HTTP客户端不完全支持; 不是标准的做法 自定义HTTP标头 – 要求自定义标头通常违反标准做法 ; 使用它们与我的API的其余部分不一致,其中没有一个需要自定义标题; 此外,没有好的HTTP响应可用于指示不良的自定义标头值(可能完全是一个单独的问题) 标准HTTP头 – 没有标准头是适当的 查询参数 – 添加查询参数实际上改变了被删除的Request-URI; 违反标准做法 POST方法 – (例如POST /resourceToDelete { deletemetadata } )POST不是删除的语义选项; POST实际上代表所需的相反的动作(即POST创build资源下属;但我需要删除资源) 多个方法 – 将DELETE请求分成两个操作(例如,PUT删除元数据,然后删除)将primefaces操作拆分为两个操作,可能会导致不一致的状态。 删除原因(和其他相关的元数据)不是资源表示本身的一部分。 我的第一select可能是使用邮件正文,其次是自定义的HTTP头; 然而,如上所述,这些方法有一些缺点。 是否有任何build议或最佳做法与REST / HTTP标准一起在DELETE请求中包含所需的元数据? 有没有其他的select,我没有考虑?
我们有这个软件有一个webservices组件。 现在,这个系统的pipe理员来找我,希望通过使用webservices组件将数据导入到系统中。 所以,我去阅读文档,试图找出这个东西,我看到这样的事情: 点击这里查看我在说什么(这在firefox,chrome和safari中看起来最好) 该文档给出了使用HTTP动词(如GET,POST,PUT,DELETE)与系统进行交互的示例。 但是在我有限的经验中,我从来不需要发送HTTP PUT或DELETE。 你怎么做呢? 我构build了具有method =“post”或method =“get”的HTML表单,并将请求发送给action属性(action =“someResource”)中指定的任何内容。 但我真的不知道该怎么做这件事。 如果我不得不猜测,我将不得不build立一个应用程序,创build某种HTTP请求对象,并设置它的所有属性,并以某种方式包含我想要放置到资源的数据( 我正在尝试使用REST术语,这对我来说是另一回事 )。 然后我会用我的编程语言发送请求,等等等等。 我只是在猜测这个。 请提供一些帮助! 我以为我是一个Web开发人员,因为我知道的东西像XHTML,CSS,JavaScript等,但它开始看起来像我根本不了解网站的基础(HTTP)。 编辑 PS:我主要用.net编程。 所以,.net中的任何例子都非常棒。
我想为REST API编写一个自动化testing套件。 当我们完成新的服务时,我们希望检查以确保所有以前创build的服务按预期工作。 任何build议,最好的工具来完成这个? 我知道像Apigee这样的工具可以让你一次testing1个服务,但是我们希望能够通过点击一个button来testing所有的服务。
为了描述RESTful,我们可以说每个资源都有自己的URI。 使用HTTP GET,POST,PUT和DELETE,我们可以对这些资源进行操作。 所有资源都是代表性的。 谁想要使用我们的资源可以通过浏览器或REST客户端来完成。 这是RESTful架构的主要思想。 这种架构允许在互联网上的服务。 那么为什么这个架构需要WADL呢? WADL提供的标准HTTP不是什么? 为什么WADL需要存在?
当他向API发送请求时,我需要对客户端进行身份validation。 客户端有一个API令牌,我正在考虑使用标准Authorization标头将令牌发送到服务器。 通常这个头被用于Basic和Digestauthentication。 但我不知道是否允许自定义此标头的值并使用自定义authenticationscheme,例如: Authorization: Token 1af538baa9045a84c0e889f672baf83ff24 你会推荐这个吗? 还是有更好的方法来发送令牌?