类比
服务器:便利店
客户端:客人
http报文:中文语言+钱
400-499 客户的错误
400 :服务器不理解客服端请求的意思是什么,如请求报文损坏
举例:
客户端:@#!3&*
服务器:你说的是什么,完全不知道你要表达什么意思,我没法给你服务
401:请求要求用户的身份认证
举例:
客户端:我要一瓶可乐,并打85折
服务器:打折?你有会员卡吗?,请填写会员号,就可以打折
402:保留,将来使用
403:服务器理解请求客户端的请求,但是拒绝执行此请求
举例:
客户端:把你的钱都给我
服务器:对不起,不给,拒绝给你服务
404:服务器无法根据客户端的请求找到资源(网页)。通过此代码,网站设计人员可设置"您所请求的资源无法找到"的个性页面
举例:
客户端:给我一瓶优乐美奶茶
服务器:我们这没有优乐美奶茶
405:客户端请求中的方法被禁止
客户端:给我一瓶可乐,我用手机支付
服务器:对不起,我们不支持手机支付,只能现金
406:服务器无法根据客户端请求的内容特性完成请求
客户端:给我牛奶,高钙的
服务器:对不起,只有补铁的牛奶,你要吗?
407:请求要求代理的身份认证,与401类似,但请求者应当使用代理进行授权
客户端:给我拿一茅台,我满18岁了
服务器:你需要在公安局办个饮酒认证,我才能卖给你
408:服务器等待客户端发送的请求时间过长,超时
客服端:给我一瓶可乐(结巴,说了5分钟)
服务器:对不起,等你把口吃的毛病治好了,再来买东西
409:服务器完成客户端的PUT请求是可能返回此代码,服务器处理请求时发生了冲突
410:客户端请求的资源已经不存在。410不同于404,如果资源以前有现在被永久删除了可使用410代码,网站设计人员可通过301代码指定资源的新位置
客户端:给我一瓶可乐
服务器:对不起,可乐卖完啦,你可以到对面街道,我们的分店购买可乐
411:服务器要求客户端请求时带Content-Length的首部
客户端:给我可乐
服务器:你要多大容量的可乐,灌装?瓶装的?大瓶装的?
412:客户端发起了条件请求,其中有一个条件失败了(包含Expect首部的请求就是一个条件请求)
413:客服端请求时携带的数据(body部分)多大,超过了服务器的限制,为防止客户端的连续请求,服务器可能会关闭连接。如果只是服务器暂时无法处理,则会包含一个Retry-After的响应信息
客户端:给我一个iPhoneX,我带了9000元面值1角的硬币,多的不用找了
服务器:对不起,我们不接受这么多的零钱,最多接受100元的零钱
414:请求的URI过长(URI通常为网址),服务器无法处理
415:服务器无法处理请求附带的媒体格式
416:客户端请求的范围无效
417:服务器无法满足Expect的请求头信息