做网站需要知道哪些事

1,148 views

Published on

Published in: Technology
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
1,148
On SlideShare
0
From Embeds
0
Number of Embeds
3
Actions
Shares
0
Downloads
17
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

做网站需要知道哪些事

  1. 1. 模板出处:@洁依<br />文字总结:阮一峰<br />做网站需要知道哪些事?<br />前端开发部<br />
  2. 2. 界面和用户体验<br />兼容不同操作系统下的各主流浏览器<br />了解网站在手机、平板电脑、搜索引擎等不同平台上的展现方式<br />知道如何在基本不影响用户使用的情况下升级网站。<br />必须有版本控制系统(CVS、SVN、Git等)和数据备份机制(backup)。<br />不要让用户看到那些不友好的出错提示。<br />
  3. 3. 界面和用户体验<br />不要直接显示用户的Email地址,至少不要用纯文本显示。<br />为你的网站设置一些合理的使用限制,一旦超过门槛值,就自动停止服务。(这也与网站安全相关。)<br />知道如何实现网页的渐进式增强(分级支持)<br />用户发出POST请求后,总是将其重导向(redirect)至另外一个网页<br />不要忘记网站的可访问性(accessibility,即残疾人如何使用网站)<br />
  4. 4. 安全性<br />了解SQL注入(SQL injection)及其预防方法。<br />永远不要信任用户提交的数据(cookie也是用户端提交的!)<br />不要明文(plain-text)储存用户的密码,要hash处理后再储存<br />不要对你的用户认证系统太自信<br />在登录页面及其他处理敏感信息的页面,使用SSL/HTTPS<br />
  5. 5. 安全性<br />知道如何对付session劫持。<br />避免"跨站点执行"(XSS)<br />避免"跨域伪造请求"(XSRF)<br />及时打上补丁,始终跟上最新版本<br />确认你的数据库连接信息的安全性<br />跟踪攻击技术的最新发展,以及你使用的平台的最新安全漏洞<br />
  6. 6. 安全性<br />阅读《OWASP开发指南》,它提供了全面的网站安全指导。<br />阅读Google的《浏览器安全手册》(Browser Security Handbook)<br />阅读《网络软件的黑客手册》(The Web Application Hackers Handbook )<br />
  7. 7. 性能<br />只要有可能,就使用缓存(caching)。正确理解和使用HTTP caching与HTML5离线储存。<br />优化图片。不要把一个20KB的图片文件,作为重复出现的网页背景图案<br />学习如何用gzip/deflate压缩内容。 <br />将多个样式表文件或脚本文件,合为一个文件,这样可以减少浏览器的http请求数,以及减小gzip压缩后的文件总体积。<br />
  8. 8. 性能<br />使用CSS Image Sprite,减少http请求数。<br />大流量的网站应该考虑将网页对象分散在多个域名<br />图片、CSS、JavaScript、以及其他cookie无关的网页内容)都应该放在一个不需要使用cookie的独立域名之上。 <br />使用Google的Closure Compiler压缩JavaScript文件,YUI Compressor亦可。<br />
  9. 9. 性能<br />确保网站根目录下有favicon.ico文件,因为即使网页中根本不包括这个文件,浏览器也会自动发出对它的请求。所以如果这个文件不存在,就会产生大量的404错误。<br />阅读Yahoo的Exceptional Performance<br />使用Yslow<br />使用page speed<br />
  10. 10. SEO<br />使用"搜索引擎友好"的URL形式。<br />不要使用"点击这里"之类的超链接<br />创建一个XML sitemap<br />当你有多个URL指向同一个内容时,在网页代码中使用<link rel="canonical" ... /><br />知道robots.txt的作用,以及搜索引擎蜘蛛的工作原理<br />
  11. 11. SEO<br />将www.example.com的访问请求导向example.com或者采用相反的做法。<br />知道存在着恶意或行为不正当的网络蜘蛛。<br />如果你的网站有非文本的内容(比如视频、音频等等),你应该参考Google的sitemap扩展协议。<br />使用Google的Webmaster Tools和Yahoo的Site Explorer。<br />从一开始就使用Google Analytics等统计工具<br />
  12. 12. 技术<br />理解HTTP协议,以及诸如GET、POST、sessions、cookies之类的概念,包括"无状态"(stateless)是什么意思。<br />确保你的XHTML/HTML和CSS符合W3C标准,使得它们能够通过检验。<br />理解浏览器如何处理JavaScript脚本。<br />理解网页上的JavaScript文件、样式表文件和其他资源是如何装载及运行的,考虑它们对页面性能有何影响。<br />
  13. 13. 技术<br />理解JavaScript沙箱(Javascript sandbox)的工作原理,尤其是如果你打算使用iframe。<br />使网站在JS被禁用的情况下也保证可用性。<br />了解301重定向和302重定向之间的区别。<br />尽可能多得了解你的部署平台。<br />考虑使用样式表重置(Reset Style Sheet)<br />考虑使用JavaScript框架<br />
  14. 14. 解决BUG<br />理解程序员20%的时间用于编码,80%的时间用于维护,根据这一点相应安排时间。<br />建立一个有效的错误报告机制。<br />建立某些途径或系统,让用户可以与你接触,向你提出建议和批评。<br />为将来的维护和客服人员撰写文档,解释清楚系统是怎么运行的。<br />
  15. 15. 解决BUG<br />经常备份!(并且确保这些备份有效) 除了备份机制,你还必须有一个恢复机制。<br />不要忘记做单元测试(Unit Testing) 。<br />线上东西不要轻易删除,留神CDN缓存<br />
  16. 16. @cuikai<br />http://uicss.cn<br />Thanks!<br />

×