相关疑难解决方法(0)

403 Forbidden vs 401 Unauthorized HTTP响应

对于存在的网页,但对于没有足够权限的用户(他们未登录或不属于正确的用户组),要提供的正确HTTP响应是什么?401?403?别的什么?到目前为止,我对每个人的看法都不太清楚.哪些用例适合每个响应?

http-status-codes http-response-codes http-headers http-status-code-403 http-status-code-401

2544
推荐指数
18
解决办法
97万
查看次数

367
推荐指数
6
解决办法
20万
查看次数

什么是有效请求的正确REST响应代码,但空数据?

例如,您运行GET请求users/9但没有id为#9的用户.哪个是最好的响应代码?

  • 200好的
  • 202接受
  • 204没有内容
  • 400错误请求
  • 404未找到

rest api-design http

289
推荐指数
13
解决办法
19万
查看次数

REST:将应用程序错误映射到HTTP状态代码

难道要考虑好的做法,以重新使用RFC HTTP状态代码这个样子,或者我们应该组成新的恰好映射到我们具体的错误原因是什么?

我们正在围绕几个遗留应用程序设计一个Web服务API.

除了响应主体中的JSON/XML数据结构之外,我们还希望返回对Web缓存开发人员有意义的HTTP状态代码.

但是,如何将不同类别的错误映射到适当的HTTP状态代码?团队中的每个人都同意以下内容:

如果1234不存在,则GET/package/1234返回404 Not Found

如果"next_checkpoint" 1234有效请求,GET/package/1234/next_checkpoint返回400 Bad Request,但next_checkpont在这里没有意义......

等等......但是,在某些情况下,事情需要比"400"更具体 - 例如:

POST/dispatch /?for_package = 1234返回412 Precondition如果/ dispatch和package 1234都存在则失败,但是1234尚未准备好进行调度.


(编辑:状态代码在HTTP/1.1.在WebDAV的电话分机的状态码)

rest web-services http-status-codes

36
推荐指数
3
解决办法
2万
查看次数

更正登录表单的HTTP状态代码?

我正在为应用程序实现身份验证,我正在使用带有"身份验证方法"的可插拔系统.这允许我实现HTTP Basic和基于HTML的身份验证.

使用HTTP Basic/Digest auth,服务器发送401 Unauthorized响应头.但是,根据HTTP/1.1 RFC:

响应必须包含WWW-Authenticate头字段(第14.47节),其中包含适用于所请求资源的质询.

由于我不知道任何"html"WWW-Authenticate标头,因此发送401带有HTML登录表单的内容似乎不合适.有没有替代方案?我想以RESTful方式设计我的应用程序.

基于HTML的登录表单的正确HTTP状态代码(和标头)是什么?登录失败时,正确的代码是什么?

注意:我对摘要式身份验证不感兴趣.

rest http http-status-codes

25
推荐指数
3
解决办法
2万
查看次数

当域规则无效时,put方法上的rest服务的http响应代码是什么

使用PUT方法更新资源时返回的最合适的响应代码是什么,请求包含一些会使域规则无效的数据?

例如,客户资源必须指定名称.如果代理尝试在不提供名称的情况下发出PUT,我不想更新资源,并且我想告诉调用者他们需要提供名称.

什么HTTP响应代码?

rest

12
推荐指数
2
解决办法
6136
查看次数

空响应和未找到响应的 HTTP 状态代码

我们正在实现基于 REST 的 Web 服务,并且对某些用例有一些疑问。

考虑有一个唯一的帐户,其中包含一些信息(例如添加到购物车信息)

  1. 如果不存在购物车信息,我们应该返回什么响应代码(例如 0)。我们的理解是返回 200 并返回空响应。
  2. 用户将购物车信息添加到其帐户,但购物车已被管理员删除。

应使用什么 HTTP 状态代码?

api rest web-services httpresponse http-status-code-301

11
推荐指数
1
解决办法
2万
查看次数

400对422响应POST引用未知实体

我正在尝试用我正在研究的"类似休息"的API来弄清楚在不同情况下返回的正确状态代码.

这个例子借鉴了另一个关于正文中语法类型问题的问题,但我的问题始终假设有效的语法.

假设我有一个端点允许以JSON格式进行POST'ing购买.它看起来像这样:

{
    "account_number": 45645511,
    "upc": "00490000486",
    "price": 1.00,
    "tax": 0.08
}
Run Code Online (Sandbox Code Playgroud)

什么是适当的状态代码,如果:

  • 帐号不存在
  • 帐户已关闭或
  • 确定的帐户不是正确的帐户

这些都是严格的业务层问题,阻止"处理"发生,但是,一个场景涉及GET中的某些内容将是404.

请注意,帐号不在URL中,因此404会误导?

rest

7
推荐指数
1
解决办法
5357
查看次数

正确的Http状态代码,用于在休息端点上传文件

我们正在开发一个允许用户在休息端点上传文件的应用程序.
如果以下验证方案失败发送400错误代码,请指导是否正确:

1) The Length of file name exceeds permissible limit.
2) File name contains special characters
3) Uploaded file was empty
4) The System failed to read the uploaded file from disk.
Run Code Online (Sandbox Code Playgroud)

此致,塔伦

php java rest symfony restful-architecture

6
推荐指数
2
解决办法
4873
查看次数

Laravel:验证json对象

这是我第一次在laravel中使用验证.我试图在下面的json对象上应用验证规则.json对象名称是有效负载,下面给出了示例.

payload = {
  "name": "jason123",
  "email": "email@xyz.com",
  "password": "password",
  "gender": "male",
  "age": 21,
  "mobile_number": "0322 8075833",
  "company_name": "xyz",
  "verification_status": 0,
  "image_url": "image.png",
  "address": "main address",
  "lattitude": 0,
  "longitude": 0,
  "message": "my message",
  "profession_id": 1,
  "designation_id": 1,
  "skills": [
    {
      "id": 1,
      "custom" : "new custom1"
    }
   ]
}
Run Code Online (Sandbox Code Playgroud)

验证码如下所示,出于测试目的,我将名称验证为数字.当我执行下面的代码时,上面的json对象被批准并插入到我的数据库中.相反,它应该给我一个例外,因为我传递名称与字母数字值,我做错了什么:

public function store(Request $request)
{

    $this->validate($request, [
        'name' => 'digits',
        'age' => 'digits',
        ]);
}
Run Code Online (Sandbox Code Playgroud)

validation json laravel laravel-5.4

6
推荐指数
2
解决办法
2万
查看次数