小明的这个求学之路,还是比较丰富多彩的,这不,今天,小明要开学了。可是当他进去学校网页的时候,竟然跳出来一个如下的界面,弄得小明又是一番疑问解答,带给大家更多的新知识。
小明进校网选课崩溃图原来小明遇到的只是其中一种小小的问题而已,也是相对常见的一个网页故障。
总的来说,网页的故障可以分为5大类。分别是1xx,2xx,3xx,4xx,5xx。
先献上一张表格吧。还有基本的HTTP报文的格式,献上这个专业的报文格式,纯属为了看本文下面文章时,比较好理解。
HTTP状态码分类表 HTTP报文头格式下面就具体来说一说,各个状态都有些什么吧~在此之前还有需要补充下哦。在浏览器显示界中,只有打开的界面有错误时,才会显示错误的信息代码,因此,在这5种状态码下,只会你在平时上网时,只能看到4xx或者5xx。
1xx(100,101),非网页发生错误,不显示在浏览器页面中。只要浏览器还在运行处理,对于用户来说就是看不到的。它有两种,100,表示请求者应当继续提出请求。服务器返回此代码表示已经收到请求的第一部分,正在等待其他部分。101,表示请求者已要求服务器切换协议,服务器确认并准备。
2xx(200,204,206),非网页发生错误,不显示浏览器页面中。其中,200:OK。表示从客户端发来的请求在服务器端正常处理。204:No Content。表示请求成功,但服务器返回内容没有实体的主体的内容,也表示不能够返回实体的主体。主体指的是在HTTP的协议中HTTP包中的内容,其中有一部分是成为主体。这边涉及到的是HTTP协议包,暂时先不具体细究。206:Partial Content,客户端进行了范围请求并且服务端成功执行了改GET请求。此时,响应报文里面包含content-range字段来表示范围。
3xx(301,302,303,304),非网页发生错误,不显示浏览器页面中。301:Moved Permanently,永久重定向,当前请求资源分配已分配新的URL,以后访问使用新的URL。302:See Other,由于当前请求存在另一个对应的资源在另一个URL中,使用GET定向获取请求的资源,这里明确表示客户端采用的是GET方法获取资源。这是与302的区别。到这里,小明还了解到,301,302,303响应状态码返回时,几乎所有的浏览器都会把POST改成GET,并删除请求报文的主体,之后请求会自动再次发送。在302和301的标准里面是严格规定禁止将POST的方法改成POST的。304:Not Nodified,表示客户端发送附加条件的请求,此时服务器允许了请求,但不满足条件,才返回该状态码、,满足就返回200。小明疑惑了,什么是附加条件呢?原来附加条件指的是使用GET方法中请求报文中包含If-Mathc、If-Modified-Since等其中任意的请求首部。
4xx(400,401,403,404),属于网页错误,会显示于浏览器页面上。400:Bad Request,表明客户端的请求报文中存在语法错误,错误发生时,客户端会需要重新修改请求内容后,重新发送请求。401:Unauthorized,表明发送的请求需要通过HTTP认证(Basic Digest)用户已经进行过以此请求,返回401表示认证失败。403:Foribidden,客户端请求被服务端拒绝,此时,没有必要向客户端说明拒绝的原因,如果需要,则在响应实体中加入说明,返回客户端。404:Not Found,服务器上无法定位请求的资源,也可以在服务器拒绝客户端请求但不想说明理由的时候,返回404。
5xx(500,501,502,503),属于网页错误,会显示于浏览器页面上。500:Internet Server Error,服务器在处理请求时候,服务器内部发生错误,也可能是web应用存在bug或者临时故障。501:Not Implement,表示不能实现当前请求的某些功能。502:Bad Gateway,作为网关或者代理工作的服务器尝试执行请求时,从上游服务器接收到无效的响应。503:Service Unavailable,表明服务器正处于超负载和停机维护中,现在无法处理请求。
虽然看起来洋洋洒洒,小明说了这么多,其实,可以将这些重点的记录下。按照谷歌的搜索结果,其实也就5种。看了这么多,估计你们也已经非常头疼了、下面一篇是谷歌统计出来的5个最常见的HTTP错误代码。小明也想,大家可以各取所需,哈哈。谷歌调查及中最常见的HTTP错误报文
网友评论