
课程咨询: 400-996-5531 / 投诉建议: 400-111-8989
认真做教育 专心促就业
大家在访问网页时候有没有遇到过400或者512等类似的网页提示呢,这就是我们常说的web状态码。下面我们就通过案例分析来简单了解一下,web前端常见状态码类型都有哪些。
一、1xx消息
这一类型的状态码,代表请求已被接受,需要继续处理。这类响应是临时响应,表示客户应该采取的其它行动。
100Continue(继续)
服务器已经接收到请求头,请求者应当继续提出请求。服务器返回此代码表示已收到请求的一部分,正在等待其余部分。
101SwitchingProtocols(切换协议)
服务器已经理解了客户端的请求,并将通过Upgrade消息头通知客户端采用不同的协议来完成这个请求。在发送完这个响应后,服务器将会切换到在Upgrade消息头中定义的那些协议。
只有在切换新的协议更好的进行通信。例如:切换到新的HTTP版本(如HTTP/2)比旧版本更有优势、或切换到一个实时且同步的协议(如WebSocket)等
二、2xx成功
这一类型的状态码,代表请求已成功被服务器接收、理解、并接受。
200OK(成功)
已成功处理了请求。出现此状态码是表示正常状态。
201Created(已创建)
请求成功并且服务器创建了新的资源。
202Accepted(已接受)
服务器已接受请求,但尚未处理。
204NoContent(无内容)
服务器成功处理了请求,但没有返回任何内容。
206PartialContent(部分内容)
服务器成功处理了部分GET请求。
三、3xx重定向
这类状态码代表需要客户端采取进一步的操作才能完成请求。通常,这些状态码用来重定向,后续的请求地址(重定向目标)在本次响应的Location域中指明。
当且仅当后续的请求所使用的方法是GET或者HEAD时,用户浏览器才可以在没有用户介入的情况下自动提交所需要的后续请求。
客户端应当自动监测无限循环重定向(例如:A->A,或者A->B->C->A),因为这会导致服务器和客户端大量不必要的资源消耗。按照HTTP/1.0版规范的建议,浏览器不应自动访问超过5次的重定向。
300MultipleChoices(多种选择)
针对请求,服务器可执行多种操作。服务器可根据请求者选择一项操作,或提供操作列表供请求者选择。
301MovedPermanently(永久移动)
请求的资源已永久移动到新位置。服务器返回此响应(对GET或HEAD请求的响应)时,会自动将请求者转到新位置。
302MoveTemporarily(临时移动)
请求的资源临时从不同的URI响应请求。由于这样的重定向是临时的,客户端应当继续向原有地址发送以后的请求。只有在Cache-Control或Expires中进行了指定的情况下,这个响应才是可缓存的。
303SeeOther(查看其他位置)
对应当前请求的响应可以在另一个URL上被找到,而且客户端应当采用GET的方式访问那个资源。这个方法的存在主要是为了允许由脚本激活的POST请求输出重定向到一个新的资源。这个新的URI不是原始资源的替代引用。同时,303响应禁止被缓存。当然,二个请求(重定向)可能被缓存。
304NotModified(未修改)
自从上次请求后,请求的资源未修改过。服务器返回此响应时,不会返回资源的内容,因此可节省带宽和开销。
305UseProxy(使用代理)
请求者只能使用代理访问请求的网页。如果服务器返回此响应,还表示请求者应使用代理。
307TemporaryRedirect(临时重定向)
服务器目前从不同位置的网页响应请求,但请求者应继续使用原有位置来响应以后的请求。此代码与响应GET和HEAD请求的301代码类似,会自动将请求者转到不同的位置,但您不应使用此代码来告诉搜索引擎爬虫某个页面或网站已经移动,因为搜索引擎爬虫会继续抓取原有位置并编制索引。
四、4xx客户端错误
这类的状态码代表了客户端看起来可能发生了错误,妨碍了服务器的处理。
400BadRequest(错误请求)
服务器不理解请求的语法。
401Unauthorized(未授权)
请求要求身份验证。对于需要登录的网页,服务器可能返回此响应。
403Forbidden(禁止)
服务器拒绝请求。
404NotFound(未找到)
服务器找不到请求的资源。例如,对于服务器上不存在的资源经常会返回此代码。
405MethodNotAllowed(方法不被允许)
请求中的方法不被允许(HTTPMETHOD)。
406NotAcceptable(不接受)
请求的资源的内容特性无法满足请求头中的条件,因而无法生成响应实体,该请求不可接受。
408RequestTimeout(请求超时)
服务器等候请求时发生超时。
409Conflict(冲突)
由于和被请求的资源的当前状态之间存在冲突,请求无法完成。
410Gone(已删除)
如果请求的资源已永久删除,服务器就会返回此响应。
411LengthRequired(需要有效长度)
服务器不接受不含有效内容长度标头字段的请求。
412PreconditionFailed(未满足前提条件)
服务器未满足请求者在请求中设置的其中一个前提条件。
413RequestEntityTooLarge(请求实体过大)
服务器无法处理请求,因为请求实体过大,超出服务器的处理能力。
414Request-URITooLong(请求的URI过长)
请求的URI(通常为网址)过长,服务器无法处理。
415UnsupportedMediaType(不支持的媒体类型)
请求的格式不受请求页面的支持。
416RequestedRangeNotSatisfiable(请求范围不符合要求)
如果页面无法提供请求的范围,则服务器会返回此状态代码。
417ExpectationFailed(未满足期望值)
服务器未满足"Expect"请求头字段的要求。
429TooManyRequests(请求太频繁)
用户在给定的时间内发送了太多的请求。旨在用于网络限速。
431RequestHeaderFieldsTooLarge(请求头字段过大)
服务器不愿处理请求,因为一个或多个头字段过大。
五、5xx服务器错误
这类状态码代表了服务器在处理请求的过程中有错误或者异常状态发生,也有可能是服务器意识到以当前的软硬件资源无法完成对请求的处理。
500InternalServerError(服务器内部错误)
服务器遇到错误,无法完成请求。
502BadGateway(错误网关)
服务器作为网关或代理,从上游服务器收到无效响应。
503ServiceUnavailable(服务不可用)
服务器目前无法使用(由于超载或停机维护)。通常,这只是暂时状态。
504GatewayTimeout(网关超时)
服务器作为网关或代理,但是没有及时从上游服务器收到请求。
【免责声明】:本内容转载于网络,转载目的在于传递信息。文章内容为作者个人意见,本平台对文中陈述、观点保持中立,不对所包含内容的准确性、可靠性与完整性提供形式地保证。请读者仅作参考。更多内容请加danei0707学习了解。欢迎关注“达内在线”参与分销,赚更多好礼。
【免责声明】:本内容转载于网络,转载目的在于传递信息。文章内容为作者个人意见,本平台对文中陈述、观点保持中立,不对所包含内容的准确性、可靠性与完整性提供形式地保证。请读者仅作参考。更多内容请加danei0707学习了解。欢迎关注“达内在线”参与分销,赚更多好礼。