http状态码

本文详细介绍了HTTP状态码的各个系列,包括1XX通知、2XX成功、3XX重定向、4XX客户端错误和5XX服务端错误。重点讲解了常见的状态码如200、201、404、401、500等的含义及应用场景,帮助读者理解和处理HTTP通信中的各种情况。
摘要由CSDN通过智能技术生成

1XX:通知
1XX系列响应代码仅在与HTTP服务器沟通时使用。

100(continue继续)
这是对HTTP LBYL(look-before-you-leap程序执行之前检查)请求的一个可能的响应。表明客户端应重新发送初始请求,并在请求中附上第一次请求时未提供的(可能很大或者包含敏感信息的)表示。对HTTP LBYL(look-before-you-leap)请求的另一个可能的响应是417(“Expectation Failed”)。

101(switching protocol切换协议)
当客户端通过在请求里使用Upgrade报头,以通知服务器它想改用除HTTP协议之外的其他协议时,客户端将获得此响应代码。

2XX: 成功
2XX系列响应代码表明操作成功了。

200(“OK”)

201(“Created”)
创建了新资源。
响应报头:Location报头应包含指向新创建资源的规范URI。

202(“Accepted”)
客户端的请求无法或将不被实时处理而是稍后会被处理。
响应报头:应该把未处理完的请求暴露为一个资源,以便客户端稍后查询其状态。Location报头可以包含指向该资源的URI。
实体主体:若无法让客户端稍后查询请求的状态,那么至少应该提供一个关于何时能处理该请求的估计。

204(“No Content”)
若服务器拒绝对PUT、POST或者DELETE请求返回任何状态信息或表示,那么通常采用此响应代码。服务器也可以对GET请求返回此响应代码,这表明“客户端请求的资源存在,但其表示是空的”。客户端的输入已被接受,但客户端不应该改变任何UI元素。(205重置客户端表单数据)

3XX 重定向
3XX系列响应代码表明:客户端需要做些额外工作才能得到所需要的资源。它们通常用于GET请求。他们通常告诉客户端需要向另一个URI发送GET请求,才能得到所需的表示。那个URI就包含在Location响应报头里。

301(“Moved Permanently”)
服务器知道客户端试图访问的是哪个资源,但它不喜欢客户端用当前URI来请求该资源。它希望客户端记住另一个URI,并在今后的请求中使用那个新的URI。你可以通过这个响应代码来防止由于URI变更而导致老URI失效。

302(http1.1中"Found")
http1.0中临时转移成功,请求的内容已转移到新位置。
http1.1中尽量用303或307。

303(“See Other”)
请求已经被处理,但服务器不是直接返回一个响应文档,而是返回一个响应文档的URI。
发送一个资源的表示,而不强迫客户端下载其所有数据。
客户端可以向Location报头里的URI发送GET请求,但它不是必须这么做。

304(“Not Modified”)
跟204(“No Content”)类似:响应实体主体都必须为空。但204用于没有主体数据的情况,而304用于有主体数据,但客户端已拥有该数据,没必要重复发送的情况。(浏览器缓存里存储的不只是网页文件,还有服务器发过来的该文件的最后服务器修改时间。客户端发送If-Modified-Since头查看文件是否变过,如果未变就发304代码,从浏览器缓存里读出)

307(“Temporary Redirect”)
303表明:操作已经成功执行,但响应实体将不随本响应一起返回,若客户端想要获取响应实体主体,它需要向另一个URI发送GET请求。而307表明:服务器尚未执行操作,客户端需要向Location报头里的那个URI重新提交整个请求。

4XX:客户端错误
这些响应代码表明客户端出现错误。不是认证信息有问题,就是表示格式或HTTP库本身有问题。客户端需要自行改正。

400(“Bad Request”)
这是一个通用的客户端错误状态,当其他4XX响应代码不适用时,就采用400。

401(“Unauthorized”)
客户端试图对一个受保护的资源进行操作,却又没有提供正确的认证证书(用户名/密码、API key、认证令牌等)。

403(“Forbidden”)
客户端请求的结构正确,但是服务器不想处理它。
该响应代码常用于一个资源只允许在特定时间段内访问,或者允许特定IP地址的用户访问的情况。

404(“Not Found”)

405(“Method Not Allowd”)
客户端试图使用一个本资源不支持的HTTP方法(get,post,put,delete)。

406(“Not Acceptable”)
当客户端对表示有太多要求,以至于服务器无法提供满足要求的表示,服务器可以发送这个响应代码。

407(“Proxy Authentication Required”)
无权访问代理。

408(“Reqeust Timeout”)

409(“Conflict”)
请求的操作会导致服务器的资源处于一种不可能或不一致的状态。例如你试图修改某个用户的用户名,而修改后的用户名与其他存在的用户名冲突了。

410(“Gone”)
用于服务器知道被请求的URI过去曾指向一个资源,但该资源现在不存在了的情况。

411(“Length Required”)
中断未提供Content-Lenght报头的请求。

412(“Precondition Failed”)
客户端在请求报头里指定一些前提条件,并要求服务器只有在满足一定条件的情况下才能处理本请求。若服务器不满足这些条件,就返回此响应代码。

413(“Request Entity Too Large”)
用于客户端发送的表示太大,以至于服务器无法处理。

415(“Unsupported Media Type”)
当客户端在发送表示时采用了一种服务器无法理解的媒体类型,服务器发送此响应代码。

417(“Expectation Failed”)
此响应代码跟100正好相反。当你用LBYL请求来考察服务器是否会接受你的表示时,如果服务器确认会接受你的表示,那么你将获得响应代码100,否则你将获得417。

5XX 服务端错误
这些响应代码表明服务器端出现错误。

500(“Internal Server Error”)
这是一个通用的服务器错误响应。对于大多数web框架,如果在执行请求处理代码时遇到了异常,它们就发送此响应代码。

501(“Not Implemented”)
用服务器不能识别的方法(get,delete等等外)访问。

502(“Bad Gateway”)
只有HTTP代理会发送这个响应代码。它表明代理方面出现问题,或者代理与上行服务器之间出现问题,而不是上行服务器本身有问题。若代理根本无法访问上行服务器,响应代码将是504(“Gateway Timeout”)。

505(“HTTP Version Not Supported”)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值