Questions tagged «http-status-codes»

HTTP状态代码是HTTP Web响应中返回的一组标准化代码。有关服务为何(意外)返回状态代码的问题不应使用此标记。



14
资源已经存在时POST的HTTP响应代码
我正在构建一个允许客户端存储对象的服务器。这些对象在客户端完全构建,并带有在对象整个生命周期中永久存在的对象ID。 我已经定义了API,以便客户端可以使用PUT创建或修改对象: PUT /objects/{id} HTTP/1.1 ... {json representation of the object} {id}是对象ID,因此它是Request-URI的一部分。 现在,我也在考虑允许客户端使用POST创建对象: POST /objects/ HTTP/1.1 ... {json representation of the object, including ID} 由于POST的意思是“追加”操作,因此我不确定在对象已经存在的情况下该怎么做。我应该将请求视为修改请求还是应该返回一些错误代码(哪个)?

8
验证失败或重复无效的REST HTTP状态代码
我正在使用基于REST的API构建应用程序,并且到了我为每个请求指定状态代码的地步。 对于未通过验证的请求,或者请求尝试在数据库中添加重复项的状态,我应该发送什么状态代码? 我已经浏览了http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html,但是似乎都不对。 发送状态代码时是否有惯例?

7
REST API服务针对验证失败返回什么合适的HTTP状态代码?
每当我在基于Django / Piston的REST API应用程序中遇到验证失败时,我当前都会返回401未经授权。看过HTTP状态代码注册表后, 我不相信这是验证失败的合适代码,大家都建议什么? 400错误的要求 401未经授权 403禁止 405方法不允许 406不可接受 412前提条件失败 417期望失败 422无法处理的实体 424依赖失败 更新:上面的“验证失败”表示应用程序级别的数据验证失败,即,错误地指定了日期时间,虚假的电子邮件地址等。


9
400和422对数据POST的响应
我正在尝试使用正在使用的“类似REST”的API找出在不同情况下返回的正确状态代码是什么。假设我有一个端点,允许JSON格式的POST购买。看起来像这样: { "account_number": 45645511, "upc": "00490000486", "price": 1.00, "tax": 0.08 } 如果客户寄给我“ sales_tax”(而不是预期的“ tax”),我应该返回什么。目前,我要退回400。但是,我开始对此提出质疑。我真的应该归还422吗?我的意思是,它是JSON(受支持),并且是有效的JSON,只是不包含所有必填字段。

14
JAX-RS —如何一起返回JSON和HTTP状态代码?
我正在编写REST Web应用程序(NetBeans 6.9,JAX-RS,TopLink Essentials),并尝试返回JSON 和 HTTP状态代码。我已经准备好工作的代码,当从客户端调用HTTP GET方法时,该代码返回JSON。本质上: @Path("get/id") @GET @Produces("application/json") public M_機械 getMachineToUpdate(@PathParam("id") String id) { // some code to return JSON ... return myJson; } 但是,我也想用JSON数据一起返回的HTTP状态代码(500,200,204,等)。 我尝试使用HttpServletResponse: response.sendError("error message", 500); 但这使浏览器认为它是“真实的” 500,因此输出网页是常规的HTTP 500错误页面。 我想返回一个HTTP状态代码,以便我的客户端JavaScript可以处理一些依赖于它的逻辑(例如,在HTML页面上显示错误代码和消息)。这可能吗,或者不应该将HTTP状态代码用于这种情况?

13
从Web Api控制器返回http状态代码
我试图返回状态304,但未在网络api控制器中为GET方法修改。 我成功的唯一方法是这样的: public class TryController : ApiController { public User GetUser(int userId, DateTime lastModifiedAtClient) { var user = new DataEntities().Users.First(p => p.Id == userId); if (user.LastModified <= lastModifiedAtClient) { throw new HttpResponseException(HttpStatusCode.NotModified); } return user; } } 这里的问题是,这不是一个例外,它没有被修改,因此客户端缓存正常。我还希望返回类型为User(如所有Web API示例使用GET所示)不返回HttpResponseMessage或类似的内容。

5
HTTP状态代码200(缓存)与状态代码304有什么区别?
我正在使用用于Firefox的Google“ Page Speed”插件来访问我的网站。 我页面上的某些组件表示为HTTP状态: 200200(缓存)304 由谷歌的“ Page Speed”。 我很困惑的是200(缓存)和304之间的区别。 我已经刷新了页面多次(但还没有清除缓存),而且似乎总是我的favicon.ico和一些图像的状态为200(缓存),而其他一些图像的状态为http,状态为304。 我不明白为什么会有所不同。 更新: 使用Google的“ Page Speed”,我收到了http://example.com/favicon.ico和http://cdn.example.com/js/ga.js的“ 200(缓存)” 但是,对于http://cdn.example.com/js/combined.min.js,我收到的HTTP状态为“ 304” 我不明白为什么我在同一目录/ js /中有两个JavaScript文件,一个返回http状态304,另一个返回200(缓存)状态代码。

9
抛出HttpResponseException或返回Request.CreateErrorResponse吗?
在阅读了ASP.NET Web API中的异常处理文章之后,我对何时引发异常与返回错误响应感到困惑。我还想知道当您的方法返回特定于域的模型而不是HttpResponseMessage... 时是否可以修改响应... 因此,回顾一下我的问题,后面是一些带有案例编号的代码: 问题 有关案例1的问题 我是否应该始终使用HttpResponseMessage而不是具体的域模型,以便可以自定义消息? 如果要返回具体域模型,可以自定义消息吗? 有关案例#2、3、4的问题 我应该抛出异常还是返回错误响应?如果答案是“视情况而定”,那么您能否举例说明何时使用另一种方法。 HttpResponseExceptionvs与thing有Request.CreateErrorResponse什么区别?输出到客户端似乎相同... 我是否应该总是使用HttpError“包装”错误中的响应消息(是否抛出异常或返回错误响应)? 案例样本 // CASE #1 public Customer Get(string id) { var customer = _customerService.GetById(id); if (customer == null) { var notFoundResponse = new HttpResponseMessage(HttpStatusCode.NotFound); throw new HttpResponseException(notFoundResponse); } //var response = Request.CreateResponse(HttpStatusCode.OK, customer); //response.Content.Headers.Expires = new DateTimeOffset(DateTime.Now.AddSeconds(300)); return …

11
如何指定HTTP错误代码?
我努力了: app.get('/', function(req, res, next) { var e = new Error('error message'); e.status = 400; next(e); }); 和: app.get('/', function(req, res, next) { res.statusCode = 400; var e = new Error('error message'); next(e); }); 但总是会显示错误代码500。


8
如何在REST API中为“尚未就绪,请稍后再试”选择HTTP状态代码?[关闭]
已关闭。这个问题是基于观点的。它当前不接受答案。 想改善这个问题吗?更新问题,以便通过编辑此帖子以事实和引文回答。 4年前关闭。 改善这个问题 我正在开发RESTful API,在其中http://server/thingyapi/thingyblob/1234返回与要下载的东西#1234相关的文件(又称“ blob”)。但是可能是在服务器中不存在该文件时发出请求,但肯定以后会提供该文件。服务器中有一个批处理过程,可为所有事物生成所有blob。Thingy 1234已经存在,并且除blob之外的其他数据已经可用。服务器还没有生成东西1234的斑点。 我不想返回404;那是针对不存在的事物。这是一个存在的问题,但尚未生成它的斑点。Kinda喜欢YouTube影片中的「处理中」。我也不认为重定向代码是合适的。没有尝试使用的“其他” URL。 在这种情况下返回的正确HTTP状态代码是什么?

2
HTTP重定向代码之间的区别
我不清楚各种HTTP 3XX重定向代码之间的区别。是的,我已经阅读了规范,但此处的标准和实际做法之间似乎存在一些差异。 该301重定向代码似乎足够清楚:这意味着资源已被永久移动到另一个URI,以及将来的请求应使用URI。 和307重定向代码也似乎很清楚:它意味着重定向是暂时的,将来的请求应该仍然使用原来的URI。 但是我无法分辨302和之间的区别303,或为什么它们中的任何一个真正不同于301。看来302原本是打算将其用作临时重定向(如307),但实际上,大多数浏览器都将其视为303。但是a 303和a有301什么区别?是301应该意味着重定向是更永久的吗?

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.