网页错误页提示码汇总及使用示例

      Web项目中总会遇到对错误页面的设计,好的错误页面处理,会让软件体验更佳,可以帮助运维人员了解基本错误信息,更好的维护软件。当然从底层避免错误是更好的软件开发方式,但我们很难避免软件一些非常隐性的Bug。

以下对网页错误页提示码进行汇总,并对最常见的404错误给出示例页面Demo。

2xx-
成功:这类状态提示码代表服务器成功地接受了客户端请求。

           200:确定,客户端请求已成功。
           201:已创建。
           202:已接受。
           203:非权威性信息。
           204:无内容。
           205:重置内容。
           206:部分内容。

3xx- 重定向:客户端浏览器必须采取更多操作来实现请求。

           301:对象已永久移走,即永久重定向。 
           302:对象已临时移动。 
           304:未修改。 
           307:临时重定向。

4xx-客户端错误:发生错误,客户端请求不存在的页面,客户端未提供有效的身份验证信息。

           401:访问被拒绝。
               401.1:登录失败。
               401.2:服务器配置导致登录失败。
               401.3:由于ACL对资源的限制而未获得授权。
               401.4:筛选器授权失败。
               401.5:ISAPI/CGI应用程序授权失败。
               401.7:访问被Web服务器上的URL授权策略拒绝。这个错误代码为IIS6.0所专用。
           403:禁止访问:IIS定义了许多不同的403错误,它们指明更为具体的错误原因:
               403.1:执行访问被禁止。
               403.2:读访问被禁止。
               403.3:写访问被禁止。
               403.4:要求SSL。
               403.5:要求SSL128。
               403.6:IP地址被拒绝。
               403.7:要求客户端证书。
               403.8:站点访问被拒绝。
               403.9:用户数过多。
               403.10:配置无效。
               403.11:密码更改。
               403.12:拒绝访问映射表。
               403.13:客户端证书被吊销。
               403.14:拒绝目录列表。
               403.15:超出客户端访问许可。
               403.16:客户端证书不受信任或无效。
               403.17:客户端证书已过期或尚未生效。
               403.18:在当前的应用程序池中不能执行所请求的URL。这个错误代码为IIS6.0所专用。
               403.19:不能为这个应用程序池中的客户端执行CGI。这个错误代码为IIS6.0所专用。
               403.20:Passport登录失败。这个错误代码为IIS6.0所专用。
          404:未找到。
               404.0:没有找到文件或目录。
               404.1:无法在所请求的端口上访问Web站点。
               404.2:Web服务扩展锁定策略阻止本请求。
               404.3:MIME映射策略阻止本请求。
          405:用来访问本页面的HTTP谓词不被允许(方法不被允许)。
          406:客户端浏览器不接受所请求页面的MIME类型。
          407:要求进行代理身份验证。
          412:前提条件失败。
          413:请求实体太大。
          414:请求URI太长。
          415:不支持的媒体类型。
          416:所请求的范围无法满足。
          417:执行失败。
          423:锁定的错误。

 
      5xx-服务器错误:服务器由于遇到错误而不能完成该请求。

          500:内部服务器错误。
              500.12:应用程序正忙于在Web服务器上重新启动。
              500.13:Web服务器太忙。
              500.15:不允许直接请求Global.asa。
              500.16:UNC授权凭据不正确。这个错误代码为IIS6.0所专用。
              500.18:URL授权存储不能打开。这个错误代码为IIS6.0所专用。
              500.100:内部ASP错误。
          501:页眉值指定了未实现的配置。
          502:Web服务器用作网关或代理服务器时收到了无效响应。
              502.1:CGI应用程序超时。
              502.2:CGI应用程序出错。
          503:服务不可用。这个错误代码为IIS6.0所专用。
          504:网关超时。
          505:HTTP版本不受支持。

以下以404错误提示码为例,设计的错误页面示例Demo:

示例1:error1.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%
  String path = request.getContextPath();
  // 获得本项目的地址(例如: http://localhost:8080/MyApp/)赋值给basePath变量
  String basePath = request.getScheme() + "://" + request.getServerName() + ":" + request.getServerPort()
	   + path + "/";
  // 将 "项目路径basePath" 放入pageContext中,待以后用EL表达式读出。
  pageContext.setAttribute("basePath", basePath);
%>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="content-type" content="text/html; charset=gbk" />
<script type="text/javascript" src="<%=basePath%>static/js/jquery-1.8.2.min.js"></script>
<title>抱歉,您访问的页面正在整修中</title>

<!--[if lte IE 8]>
<style type="text/css">
h2 em{color:#e4ebf8;}
</style>
<![endif]-->

<script type="text/javascript">
  function returnFirst() {
	  window.location = "https://www.baidu.com";
  }

  $(function(){
	  var timeDom = $("#time");
	  function timeEve(){
	  	if(timeDom.length==0) return false;
	  	var num = parseInt(timeDom.html());
	  	function countDown(){
	  		if(num<=1){
	  			window.location.href="https://www.baidu.com/";
	  			return false;
	  		}
	  		window.setTimeout(function(){
	  			num--;
	  			timeDom.html(num);
	  			countDown();
	  		},1000);
	  	};
	  	countDown();
	  }
	  timeEve();
	});
</script>

<style>
body {
	MARGIN: 0px auto; WIDTH: 950px; margin:0 auto; FONT: 11px "Lucida Grande",Arial,Verdana,sans-serif; BACKGROUND: url(<%=basePath%>static/image/error/body_bg.jpg) #d4d4d4 repeat-x; padding-top:80px;
}
div.error404_main {
	POSITION: relative; MARGIN: 31px 21px 0px; WIDTH: 950px; BACKGROUND: url(<%=basePath%>static/image/error/error404.jpg) no-repeat; HEIGHT: 500px
}
span.main_txt {
	POSITION: absolute; TEXT-ALIGN: center; PADDING-BOTTOM: 0px; PADDING-LEFT: 0px; WIDTH: 200px; PADDING-RIGHT: 0px; DISPLAY: block; HEIGHT: 200px; COLOR: #1d1d1d; TOP: 240px; PADDING-TOP: 2px; LEFT: 750px
}
span.main_txt span {
	MARGIN: 2px 2px 8px; DISPLAY: block
}
span.main_txt a {
	COLOR: #1d1d1d
}
div.error404_guide {
	POSITION: relative; BACKGROUND-COLOR: #b4b4b4; MARGIN: 0px 21px; WIDTH: 950px; HEIGHT: 100px
}
</style>

</head>

<body class="page">
<div class="error404_main">
   <span class="main_txt">
      <div>
        <div id="time">10</div> <div>秒后为您跳转到系统 <a href="javascript:void(0);" onclick="returnFirst()" >首页</a></div>
      </div>
      <span><a href="javascript:history.go(-1);">?返回上一页</a></span>
   </span>
</div>
</body>

</html>

示例1效果截图:

示例2:error2.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%
   String path = request.getContextPath();
   // 获得本项目的地址(例如: http://localhost:8080/MyApp/)赋值给basePath变量
   String basePath = request.getScheme() + "://" + request.getServerName() + ":" + request.getServerPort()
		+ path + "/";
   // 将 "项目路径basePath" 放入pageContext中,待以后用EL表达式读出。
   pageContext.setAttribute("basePath", basePath);
%>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="content-type" content="text/html; charset=gbk" />
<script type="text/javascript" src="<%=basePath%>static/js/jquery-1.8.2.min.js"></script>
<title>抱歉,您访问的页面正在整修中</title>
<style type="text/css">
body{margin:0;padding:0;font:14px/1.6 Arial,Sans-serif;}
a:link,a:visited{color:#007ab7;text-decoration:none;}
h1{
	position:relative;
	z-index:2;
	width:540px;
	height:0;
	margin:110px auto 15px;
	padding:230px 0 0;
	overflow:hidden;
	xxxxborder:1px solid;
	background-image: url(static/image/error/Main.jpg);
	background-repeat: no-repeat;
}
h2{
	position:absolute;
	top:17px;
	left:187px;
	margin:0;
	font-size:0;
	text-indent:-999px;
	-moz-user-select:none;
	-webkit-user-select:none;
	user-select:none;
	cursor:default;
	width: 534px;
}
h2 em{display:block;font:italic bold 200px/120px "Times New Roman",Times,Serif;text-indent:0;letter-spacing:-5px;color:rgba(216,226,244,0.3);}
.link a{margin-right:1em;}
.link,.texts{width:540px;margin:0 auto 15px;color:#505050;}
.texts{line-height:2;}
.texts dd{margin:0;padding:0 0 0 15px;}
.texts ul{margin:0;padding:0;}
.portal{color:#505050;text-align:center;white-space:nowrap;word-spacing:0.45em;}
.portal a:link,.portal a:visited{color:#505050;word-spacing:0;}
.portal a:hover,.portal a:active{color:#007ab7;}
.portal span{display:inline-block;height:38px;line-height:35px;}
.portal span span{padding:0 0 0 20px;}
.portal span span span{padding:0 20px 0 0;background-position:100% -80px;}
.STYLE1 {
	font-family: Arial, Helvetica, sans-serif;
	font-size: 65px;
}
</style>
<!--[if lte IE 8]>
<style type="text/css">
h2 em{color:#e4ebf8;}
</style>
<![endif]-->

<script type="text/javascript">
  function returnFirst() {
	  window.location = "<%=basePath%>reloadHome.do";
  }

  $(function(){
	  var timeDom = $("#time");
	  function timeEve(){
	  	if(timeDom.length==0) return false;
	  	var num = parseInt(timeDom.html());
	  	function countDown(){
	  		if(num<=1){
	  			window.location.href="<%=basePath%>reloadHome.do";
	  			return false;
	  		}
	  		window.setTimeout(function(){
	  			num--;
	  			timeDom.html(num);
	  			countDown();
	  		},1000);
	  	};
	  	countDown();
	  }
	  timeEve();
	});
</script>

</head>
<body>
    <h1></h1>
    <p class="link">
        <a href="javascript:void(0);" onclick="returnFirst()" >?返回首页</a>
        <a href="javascript:history.go(-1);">?返回上一页</a>
    </p>
    <p>
      <dl class="texts" >
        <dt>抱歉,您访问的页面正在整修中...</dt>
        <dt><span id="time" > 10 </span>秒后为您跳转到系统首页 </dt>
      </dl>
	</p>
</body>
</html>

示例2效果截图:

时间: 2024-08-28 11:12:35

网页错误页提示码汇总及使用示例的相关文章

PHP之关闭网页错误提示

关闭PHP错误脚本提示是程序上线了必须做的一件事情,就是不管程序怎么报错我们都不能让错误日志在服务器上给大家看到,下面我来总结两种关闭PHP错误脚本提示的具体方法 最简单的办法就是直接在php程序代码中加入下面代码:代码如下: error_reporting(E_ALL^E_NOTICE^E_WARNING); 可以关闭所有notice 和 warning 级别的错误. 把这个语句放在您脚本的功用包含文件中,通常为config.php 或者conn.php 中就可以控制输出了. 当然我也也可以在

IIS7.0设置404错误页,返回500状态码

一般在II6下,设置自定义404错误页时,只需要在错误页中选择自定义的页面,做自己的404页面即可.但是在IIS7.0及以上时,设置完404错误页后,会发现状态码返回的是500,并且可能会引起页面乱码.查找资料,发现好多资料写的不够详细,不能完美解决问题.特将我的经验分享一下,希望能帮助到大家. 经过试验,发现有两种方案可用,各有利弊,我使用的是第二种方案. 方案1: 1. 在IIS中,找到对应站点,打开“功能视图”-“IIS栏”-“错误页”: 2. 双击“404”,打开“编辑自定义错误页”对话

HTTP协议中常用状态码和含义,以及错误信息提示

转自:https://www.cnblogs.com/williamjie/p/9849996.html   https://www.cnblogs.com/omak/p/10211449.html HTTP协议状态码,是指在HTTP协议运作中由客户端发出请求连接,服务端建立连接,客户端发出HTTP请求,服务端返回响应信息,而在这个过程张由于客户端或服务端的问题会返回相应的错误代码并显示给用户,对应的错误代码表示不同的错误信息,根据这个信息用户可以调整相应的操作来修改出现的错误,最终避免错误的再

全局文件,错误页,静态页,IIS配置及防黑

添加全局应用程序类. <%@ Application Language="C#" %> <script runat="server"> //整个网站第一次被访问的时候调用 void Application_Start(object sender, EventArgs e) { //在应用程序启动时运行的代码 Application.Lock(); Application["web"] = "welcome&quo

《javaweb学习笔记2-jsp错误页设置》

在网站中经常由于用户的不当操作造成异常,一般情况下我们可以将这些异常在一个网页中统一显示.这个时候就需要用到errorPage跟isErrorPage属性. errorPage指令的作用就是在其中指定一个网页,当jsp程序出现未被捕获的异常时,就跳转到那个指定的页面,通常情况下跳转到的页面需要使用isErrorPage来指明处理其他页面的错误信息. 完成错误页的操作,满足下列条件: 1.指定错误出现时的跳转页(此处跳转页为anErrorPage.jsp),通过errorPage属性指定 语法:<

ASP.NET错误页

当页面发生错误的时候,ASP.Net会将错误信息展示出来,这样一来不好看,二来会泄露网站的内部实现信息,给网站带来安全隐患,因此需要定制错误页,发生错误时显示开发人员定制的页面404页面放点广告也是好的嘛配置web.config,配置customErrors区域: <customErrors mode="On" defaultRedirect="MyErrorPage.aspx"> <error statusCode="403"

浏览网页错误类型大全

浏览网页错误类型大全 400 无法解析此请求. 401.1 未经授权:访问由于凭据无效被拒绝. 401.2 未经授权: 访问由于服务器配置倾向使用替代身份验证方法而被拒绝. 401.3 未经授权:访问由于 ACL 对所请求资源的设置被拒绝. 401.4 未经授权:Web 服务器上安装的筛选器授权失败. 401.5 未经授权:ISAPI/CGI 应用程序授权失败. 401.7 未经授权:由于 Web 服务器上的 URL 授权策略而拒绝访问. 403 禁止访问:访问被拒绝. 403.1 禁止访问:执

帝国cms刷洗内容页提示.phome_ecms_news_data_&#39; doesn&#39;t exist

帝国cms后台刷新提示.phome_ecms_news_data_' doesn't exist解决方法: 刷新所有信息内容页面时提示“Table '*.phome_ecms_article_data_' doesn't exist”答:原因是数据本身有问题,信息索引表phome_ecms_表名_index有不存在ID的记录.解决办法:进数据库删除索引表中不存在的ID记录即可解决. 但怎么知道那些是不存在的ID记录呢? 例如 phome_ecms_article 表的 phome_ecms_ar

编程中遇到的Python错误和解决方法汇总整理

这篇文章主要介绍了自己编程中遇到的Python错误和解决方法汇总整理,本文收集整理了较多的案例,需要的朋友可以参考下 开个贴,用于记录平时经常碰到的Python的错误同时对导致错误的原因进行分析,并持续更新,方便以后查询,学习.知识在于积累嘛!微笑+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++错误: 复制代码代码如下: >>> def f(x, y):      print x, y  >>> t