网站开发的61条军规你知道多少.docx

上传人:b****5 文档编号:8234944 上传时间:2023-01-30 格式:DOCX 页数:6 大小:18.66KB
下载 相关 举报
网站开发的61条军规你知道多少.docx_第1页
第1页 / 共6页
网站开发的61条军规你知道多少.docx_第2页
第2页 / 共6页
网站开发的61条军规你知道多少.docx_第3页
第3页 / 共6页
网站开发的61条军规你知道多少.docx_第4页
第4页 / 共6页
网站开发的61条军规你知道多少.docx_第5页
第5页 / 共6页
点击查看更多>>
下载资源
资源描述

网站开发的61条军规你知道多少.docx

《网站开发的61条军规你知道多少.docx》由会员分享,可在线阅读,更多相关《网站开发的61条军规你知道多少.docx(6页珍藏版)》请在冰豆网上搜索。

网站开发的61条军规你知道多少.docx

网站开发的61条军规你知道多少

网站开发的61条军规,你知道多少?

61条“网站开发须知”你了解多少?

2010年11月26日

有人在stackoverflow上发问,动手开发网站之前,需要知道哪些事情?

  不出意料地,他得到了一大堆回答。

  通常情况下,你需要把所有人的发言从头到尾读一遍。

但是,stackoverflow有一个很贴心的设计,它允许在问题下方开设一个wiki区,让所有人共同编辑一个最佳答案。

于是,就有了下面这篇文章,一共总结出六个方面共计61条"网站开发须知"。

  我发现,这种概述性的问题,最适合这种集合群智、头脑风暴式的回答方式了。

这也是我第一次觉得,stackoverflow做到了wikipedia做不到的事。

(难怪它最近挤进了全美前400大网站。

  在我的印象中,关于网站开发,这样全面的概述性文章非常少见,因此也就非常有用。

大家不妨看看,61件事情中你做到了多少?

  一、界面和用户体验(interfaceanduserexperience)

  1.1

  知道各大浏览器执行web标准的情况,保证你的站点在主要浏览器上都能正常运行。

你至少要测试以下引擎:

gecko(用于firefox)、webkit(用于safari、chrome和一些手机浏览器)、ie(你可以利用微软发布的applicationcompatibilityvpcimages进行测试)和opera。

同时,不同的操作系统,可能也会影响浏览器如何呈现你的网站。

  1.2

  除了浏览器,网站还有其他使用方式:

手机、屏幕朗读器、搜索引擎等等。

你应该知道在这些情况下,你的网站的运行状况。

mobiforge提供了手机网站开发的一些相关知识。

  1.3

  知道如何在基本不影响用户使用的情况下升级网站。

通常来说,你必须有版本控制系统(cvs、subversion、git等等)和数据备份机制(backup)。

  1.4

  不要让用户看到那些不友好的出错提示。

  1.5

  不要直接显示用户的email地址,至少不要用纯文本显示。

  1.6

  为你的网站设置一些合理的使用限制,一旦超过门槛值,就自动停止服务。

(这也与网站安全相关。

  1.7

  知道如何实现网页的渐进式增强(progressiveenhancement)。

  1.8

  用户发出post请求后,总是将其重导向(redirect)至另外一个网页。

  1.9

  不要忘记网站的可访问性(accessibility)。

对于美国网站来说,有时这是法定要求。

wai-aria有一些这方面很好的参考资料。

  二、安全性(security)

  2.1

  阅读《owasp开发指南》,它提供了全面的网站安全指导。

  2.2

  了解sql注入(sqlinjection)及其预防方法。

  2.3

  永远不要信任用户提交的数据(cookie也是用户端提交的!

)。

  2.4

  不要明文(plain-text)储存用户的密码,要hash处理后再储存。

  2.5

  不要对你的用户认证系统太自信,它可能很容易就被攻破,而你事先根本没意识到存在相关漏洞。

  2.6

  了解如何处理信用卡。

  2.7

  在登录页面及其他处理敏感信息的页面,使用ssl/https。

  2.8

  知道如何对付session劫持(sessionhijacking)。

  2.9

  避免"跨站点执行"(crosssitescripting,xss)。

  2.9

  避免"跨域伪造请求"(crosssiterequestforgeries,xsrf)。

  2.10

  及时打上补丁,让你的系统始终跟上最新版本。

  2.11

  确认你的数据库连接信息的安全性。

  2.12

  跟踪攻击技术的最新发展,以及你使用的平台的最新安全漏洞。

  2.13

  阅读google的《浏览器安全手册》(browsersecurityhandbook)。

  2.14

  阅读《网络软件的黑客手册》(thewebapplicationhackershandbook)。

  三、性能(performance)

  3.1

  只要有可能,就使用缓存(caching)。

正确理解和使用httpcaching与html5离线储存。

  3.2

  优化图片。

不要把一个20kb的图片文件,作为重复出现的网页背景图案。

  3.3

  学习如何用gzip/deflate压缩内容(deflate方式更可取)。

  3.4

  将多个样式表文件或脚本文件,合为一个文件,减少浏览器的http请求数,以及减小gzip压缩后的网页体积。

  3.5

  浏览yahoo的exceptionalperformance网站,里面有大量提升前端性能的优秀建议,还有他们的yslow工具。

google的pagespeed则是另一个用来分析网页性能的工具。

两者都要求安装firebug。

  3.6

  如果你的网页用到大量的小体积图片(比如工具栏),就应该使用cssimagesprite,目的是减少http请求数。

  3.7

  大流量的网站应该考虑将网页对象分散在多个域名(splitcomponentsacrossdomains)。

  3.8

  静态内容(比如图片、css、javascript、以及其他cookie无关的网页内容)都应该放在一个不需要使用cookie的独立域名之上。

因为域名之下如果有cookie,那么客户端向该域名发出的每次http请求,都会附上cookie内容。

这里的一个好方法就是使用"内容分发网络"(contentdeliverynetwork,cdn)。

  3.9

  将浏览器完成网页渲染所需要的http请求数最小化。

  3.10

  使用google的closurecompiler压缩javascript文件,yuicompressor亦可。

  3.11

  确保网站根目录下有favicon.ico文件,因为即使网页中根本不包括这个文件,浏览器也会自动发出对它的请求。

所以如果这个文件不存在,就会产生大量的404错误,消耗光你的服务器的带宽。

  四、搜索引擎优化(searchengineoptimization,seo)

  4.1

  使用"搜索引擎优化"的url形式,比如

  4.2

  不要使用"点击这里"之类的超级链接,因为这样等于浪费了一个seo机会,而且降低了"屏幕朗读器"(screenreader)的使用效果。

  4.3

  创建一个xmlsitemap文件,它的缺省位置一般是/sitemap.xml(即放在网站根目录下)。

  4.4

  当你有多个url指向同一个内容时,在网页代码中使用。

  4.5

  使用google的webmastertools和yahoo的siteexplorer。

  4.6

  从一开始就使用googleanalytics(或者开源的访问量分析工具piwik)。

  4.7

  知道robots.txt的作用,以及搜索引擎蜘蛛的工作原理。

  4.8

  将的访问请求导向(使用301movedpermanently重定向),或者采用相反的做法,目的是防止google把它们当做两个网站,分开计算排名。

  4.9

  知道存在着恶意或行为不正当的网络蜘蛛。

  4.10

  如果你的网站有非文本的内容(比如视频、音频等等),你应该参考google的sitemap扩展协议。

  五、技术(technology)

  5.1

  理解http协议,以及诸如get、post、sessions、cookies之类的概念,包括"无状态"(stateless)是什么意思。

  5.2

  确保你的xhtml/html和css符合w3c标准,使得它们能够通过检验。

这可以使你的网页避免触发浏览器的古怪行为(quirk),而且使它在"屏幕朗读器"和手机上也能正常工作。

  5.3

  理解浏览器如何处理javascript脚本。

  5.4

  理解网页上的javascript文件、样式表文件和其他资源是如何装载及运行的,考虑它们对页面性能有何影响。

在某些情况下,可能应该将脚本文件放置在网页的尾部。

  5.5

  理解javascript沙箱(javascriptsandbox)的工作原理,尤其是如果你打算使用iframe。

  5.6

  知道javascript可能无法使用或被禁用,以及ajax并不是一定会运行。

记住,"不允许脚本运行"(noscript)正在某些用户中变得流行,手机浏览器对脚本的支持千差万别,而google索引网页时不运行大部分的脚本文件。

  5.7

  了解301重定向和302重定向之间的区别(这也是一个seo相关问题)。

  5.8

  尽可能多得了解你的部署平台(deploymentplatform)。

  5.9

  考虑使用样式表重置(resetstylesheet)。

  5.10

  考虑使用javascript框架(比如jquery、mootools、prototype),它们可以使你不用考虑浏览器之间的差异。

  六、解决bug

  6.1

  理解程序员20的时间用于编码,80的时间用于维护,根据这一点相应安排时间。

  6.2

  建立一个有效的错误报告机制。

  6.3

  建立某些途径或系统,让用户可以与你接触,向你提出建议和批评。

  6.4

  为将来的维护和客服人员撰写文档,解释清楚系统是怎么运行的。

  6.5

  经常备份!

(并且确保这些备份是有效的。

)除了备份机制,你还必须有一个恢复机制。

  6.6

  使用某种版本控制系统储存你的文件,比如subversion或git。

  6.7

  不要忘记做单元测试(unittesting),selenium之类的框架会对你有用。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 表格模板 > 合同协议

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1