[转帖]Web开发中需要了解的东西(二)_Android, Python及开发编程讨论区_Weblogic技术|Tuxedo技术|中间件技术|Oracle论坛|JAVA论坛|Linux/Unix技术|hadoop论坛_联动北方技术论坛  
网站首页 | 关于我们 | 服务中心 | 经验交流 | 公司荣誉 | 成功案例 | 合作伙伴 | 联系我们 |
联动北方-国内领先的云技术服务提供商
»  游客             当前位置:  论坛首页 »  自由讨论区 »  Android, Python及开发编程讨论区 »
总帖数
1
每页帖数
101/1页1
返回列表
0
发起投票  发起投票 发新帖子
查看: 4431 | 回复: 0   主题: [转帖]Web开发中需要了解的东西(二)        下一篇 
赖文婷
注册用户
等级:少校
经验:1094
发帖:81
精华:0
注册:2012-11-5
状态:离线
发送短消息息给赖文婷 加好友    发送短消息息给赖文婷 发消息
发表于: IP:您无权察看 2012-11-12 16:06:57 | [全部帖] [楼主帖] 楼主

性能

只要需要,请实现cache机制,了解并合理地使用 HTTP caching 以及 HTML5 Manifest.

优化页面 —— 不要使用20KB图片来平铺网页背景。

学习如何 gzip/deflate 网页 (deflate 更好).

把多个CSS文件和Javascript文件合并成一个,这样可以减少浏览器的网络连数,并且使用gzip压缩被反复用到的文件。

学习一下 Yahoo Exceptional Performance 这个网站上的东西,上面有很多非常不错的改善前端性能的指导,以及 YSlow 这个工具。 Google page speed 是另一个用来做性能采样的工具。这两个工具都需要安装 Firebug 。

为那些小的图片使用 CSS Image Sprites,就像工具条一样。

繁忙的网络应该考虑把网页的内容分开存放在不同的域名下。

静态网页 (如,图片,CSS,JavaScript,以及一些不需要访问cookies的网页) 应该放在一个不使用cookies的独立的域名下,因为所有在同一个域名或子域名下的cookie会被这个域名下的请求一同发送。另一个好的选择是使用 Content Delivery Network (CDN).

使用单个页面的HTTP请求数最小化。

为Javascript使用 Google Closure Compiler 或是 其它压缩工具

确认你的网站有一个 favicon.ico 文件放在网站的根下,如 /favicon.ico. 浏览器会自动请求这个文件,就算这个图标文件没有在你的网页中明显说明,浏览器也会请求。如果你没有这个文件,就会出大量的404错误,这会消耗你的服务器带宽。

SEO (搜索引擎优化)


使用 “搜索引擎喜欢的” URL,如:使用 example.com/pages/45-article-title 而不是 example.com/index.php?page=45 

如果你的动态页面要使用 # ,那么请把其改成 #! ,而在服务端,你需要处理$_REQUEST["_escaped_fragment_"] 这是Google搜索引擎需要的。换句话说,./#!page=1 会被Google搜索引擎转成 ./?_escaped_fragments_=page=1。另外,用户也许会使用Firefox 或 Chromium, history.pushState({"foo":"bar"}, "About", "./?page=1"); 是一个很不错的命令。所以,就算是我们的地址栏上的地址改变了,页面也不会重新装载。这可以让你使用 ? 而不是 #! 也能无刷地保住当前的动态的页面,这可以让AJAX的请求被浏览器记住。

别使用 “click here” 这样的链接。这样一来,无法SEO,而且对于一些需要使用读屏人来说很不友好。做一个 XML sitemap,并放在网端的根下 /sitemap.xml.当你有多个URL指向同一个网页的使用,使用 <link rel="canonical" ... /> 你可以使用 Google Webmaster Tools 来查看相关的问题。

使用 Google Webmaster Tools 和 Yahoo Site Explorer.

安装 Google Analytics  (或是别的开源的网站分析工具,如: Piwik).

了解 robots.txt 和搜索引擎爬虫是如何工作的。

重定向请求 (使用 301 重定向网站) ,如果你要把 www.example.com 定向到 example.com(或是其它的变更) 这样可以防止Google的rank因为域名的变化发生改变。

知道并不是所有的爬虫都是好的,有些爬虫的行为并不好。

如果你有一些非文本的内容需要在 Google’s sitemap  中,比如视频什么的。Tim Farley的答案,可以让你看到很多有价值的东西。

技术

理解什么是 HTTP 比如 GET, POST, sessions, cookies等,了解什么是 “stateless” 无状态。

让你的 XHTML/HTML 和 CSS 符合 W3C 规范,并确认他们都是 合格的。我们的目标是避免浏览器的 “quirks mode”,并且可以让其更容易地能和非标准的浏览器工作,比如读屏器或移动设备。

理解浏览器是怎么处理 JavaScript 的。

了解浏览器是怎么装载 JavaScript,CSS和其它资源的,了解其对视觉上的影响。在某些情况下,你可能需要把你的脚本放在页面的后面

理解 JavaScript 的 sandbox 是怎么怎么工作的,尤其是你想使用iframes。

请注意 JavaScript 可能会被禁止,这样会让你的AJAX失效。就算是大多数用户都开启了Javascript功能,但是也可能在一些情况下脚本是不被运行的,比如移动终端上,搜索引擎抓网页的时候也并不会执行你的脚本。

学习 301 和 302 转向的区别 (这也是一个SEO的问题).

尽可能多地学习你的部署平台。(比如:操作系统,Web Server:Apache/Nginx,防火墙,数据库,等等)

考虑使用一个 Reset Style Sheet.

考虑使用 JavaScript 框架(如: jQueryMooToolsPrototypeDojo 或 YUI 3),它们会很好的兼容于不同的浏览器。

把视觉效果和JS框架合在一起讨论,考虑使用一个Service,如:Google Libraries API 来装载框架,这样可以让浏览器可能早就把这个JS框架已经cache了而不需要再从你的网站上下载了。

Bug fixing


明白你会花20%的时间写代码,而80%的时候在维护,所以你要小心编码。

设计一个好的错误报告机制。

设计一个入口可以让人们联系到你并给你建议和批评。

为你开发的东西形成文档,这样可以让后来的人容易维护你的软件和系统。

频繁备份(也可确保你的这些备份功能正常) Ed Lucas 的回答 有一些忠告。你还需要有一个恢复策略,而不只是一个备份策略。

使用一个版本控制系统来保存你的代码,如: Subversion 或 Git.

别忘了做Acceptance Testing,使用 Selenium 能帮到你。

确保你有足够的日志,你可以使用 log4j, log4n 或 log4r。如果出了问题,这是可以让你快速找到问题的方式。

当你写日志的时候,确保你记录了你捕获了处理和未处理异常。报告和分析日志可以让你知道你网站的问题。

这里有多的东西被省略了,并不是因为那些可能不是有帮助的答案,而是因为那些东西都太细节了,超出了这个问题的范围,因为这本来就是一个Web开发需要了解东西的Overview。我想你可以去看一下其它人的答案,我有时间,我也会补充别人的答案进来。请随意编辑这个答案,因为可能有些东西忘了,也有可能有些东西不对。




赞(0)    操作        顶端 
总帖数
1
每页帖数
101/1页1
返回列表
发新帖子
请输入验证码: 点击刷新验证码
您需要登录后才可以回帖 登录 | 注册
技术讨论