.net网站设计的优化是一个很大的话题,有一些通用的原则,也有针对不同开发平台的一些建议。这方面的研究一直没有停止过,我在不同的场合也分享过这样的话题。
作为通用的原则,雅虎的工程师团队曾经给出过35个很好实践。这个列表请参考 Best Practices for Speeding Up Your Web Sitehttp://developer.yahoo.com/performance/rules.html,同时,他们还发布了一个相应的测试工具Yslow http://developer.yahoo.com/yslow/
我强烈推荐所有的网站开发人员都应该学习这些很好实践,并结合自己的实际项目情况进行应用。 接下来的一段时间,我将结合ASP.NET这个开发平台,针对这些原则,通过一个系列文章的形式,做些讲解和演绎,以帮助大家很好地理解这些原则,并且很好地使用他们。
为了跟随我进行后续的学习,你需要准备如下的开发环境和工具
这一篇我和大家讨论的是第二十二条原则:Avoid 404s (避免404错误)。
等等!404错误也能避免吗?能吗?不能吗?这个问题要从404错误的原因说起。
404 意味着Not Found,意思是说未找到资源。既然如此,那么至少会有两种原因导致404错误:
先来看第一种情况吧。
1. 例如每个网站其实默认都应该有一个favicon.ico文件(规定是放在网站的根目录下面),它用来在浏览器中为网站显示一个小图标。这个文件是由浏览器自动请求的,如果找不到,则自然会报告404错误。
2. 还有一种可能性就是,用户之前访问过你的网站,当时某个页面是存在的(例如Customer.aspx),而且为了访问方便,他将这个页面收藏起来(恭喜你,有人收藏你的网页表明你的网页对他很有用)。但是在某个时候,你的网站由于某些考虑,例如功能合并或者重组等,对Customer.aspx做了改动,并且重新命名为了Service.aspx。试想一下,如果原先那个用户使用收藏夹里面记录的地址来访问,那么是不是会发生404错误呢?
3. 又或者,你在网页中定义的链接地址,由于疏忽,在发布之前没有检查,导致原来应该链接到service.aspx的链接,写成了servies.aspx,用户在点击链接的时候,同样会收到404错误。
以上三种场景都属于本来应该提供资源,但是我们却没有提供,所以由于此类问题导致的404错误,我们是应该(同时也可以)避免的。
但另外一些情形就可能不容易完全避免了,例如用户就是输入了错误的地址(天知道,他们可能是真的误操作,也可能是故意输错的),因为该资源本来就不存在,所以当然应该是返回404错误。
既然了解了404错误发生的场景,那么相应的,我们可以通过一些措施来尽可能避免它的发生:
我们知道,404错误是无法完全避免的。而默认情况下,IIS 服务会提供标准的错误页面(但是,这些页面可能不是那么友好)
所以,为了让你的网站能在出现这种错误的时候,给用户相对较好一些的用户体验,我建议你应该设计自定义的404错误页面。
看看下面列出的一些设计,相信能给你一些灵感:
【备注】与上面这些设计者不同的一点,我个人认为这个错误页面无需特意突出404 , 因为其实普通用户是不知道404 具体什么意思的. Keep it simple 。
然后,可以在网站的web.config中进行如下的配置
xml version="1.0"?> <configuration> <system.web> <compilation debug="false" targetFramework="4.0" /> <customErrors mode="On"> <error statusCode="404" redirect="my404.html"/> customErrors> system.web> configuration>
评论加载中...
|
Copyright@ 2011-2017 版权所有:大连仟亿科技有限公司 辽ICP备11013762-1号 google网站地图 百度网站地图 网站地图
公司地址:大连市沙河口区中山路692号辰熙星海国际2215 客服电话:0411-39943997 QQ:2088827823 42286563
法律声明:未经许可,任何模仿本站模板、转载本站内容等行为者,本站保留追究其法律责任的权利! 隐私权政策声明