php > php教程 >
Web开发者必备总结php教程下载
了解处理信用卡的一些规则.(这里也有一个问题你可以查看一下)(陈皓注:有两上vendor可以帮助你,一个是Authorize.Net另一个是PayFlowPro)
使用SSL/HTTPS来加密传输登录页面或是任可有信息的页面,比如信用卡号等。
知道如何对付session劫持。(陈皓注:请参看wikipedia的这SessionHijacking,)
避免跨站脚本(XSS)。(陈皓注:参看酷壳站前几天发的《新浪微博的XSS事件》)
避免跨站伪造请求crosssiterequestforgeries(XSRF).
保持你的系统里的Web开发者必备总结php教程下载所有软件更新到最新的patch。
确保你的数据库连接是安全的。
确保你能了解最新的技术,以及你系统的脆弱处。
请读一下TheGoogleBrowserSecurityHandbook.
php教程下载请读一下TheWebApplicationHacker’sHandbook.
(陈皓注:之前本站的“一些资源”提到过Mozilla的安全编程规范,还有RubyonRails的Web安全的开发教程)
性能
只要需要,请实现cache机制,了解并合理地使用HTTPcaching以及HTML5Manifest.
优化页面——不要使用20KB图片来平铺网页背景。(陈皓注:还有很多网页页面优化性的文章,东盟。你可以STFG–SearchTheFuckingGoogle一下。如果你要调试的话,你可以使用firebug或是chrome内置的开发人员的工具来查看网页装载的性能)
学习如何gzip/deflate网页(deflate更好).
把多个CSS文件和Javascript文件合并成一个,这样可以减少浏览器的网络连数,并且使用gzip压缩被反复用到的文件。
学习一下YahooExceptionalPerformance这个网站上的东西,有很多非常不错的改善前端性能的指导,以及YSlow这个工具。Googlepagespeed是另一个用来做性能采样的工具。这两个工具都需要安装Firebug。
为那些小的图片使用CSSImageSprites,就像工具条一样。(参看“最小化HTTP请求”)(陈皓注:把所有的小图片合并成一个图片,然后用CSS把显示其中的一块,这样,这些小图片只用传输一次,酷壳的Wordpress样式的那个RSS订阅列表中的小图标就是这样做的)
繁忙的网络应该考虑把网页的内容分开存放在不同的域名下。(陈皓注:比如有专门的图片服务器——图片相当耗带宽,或是专门的Ajax服务器)
静态网页(如,图片,CSS,JavaScript,以及一些不需要访问cookies的网页)应该放在一个不使用cookies的的域名下,因为所有在同一个域名或子域名下的cookie会被这个域名下的请求一同发送。另一个好的选择是使用ContentDeliveryNetwork(CDN).
使用单个页面的HTTP请求数最小化。
为Javascript使用GoogleClosureCompiler或是其它压缩工具(陈皓注:压缩Javascript代码可以让你的页面减少网络传输从而可以得到很快的喧染。注意,并不是所有的工具都可以正确压缩Javascript的,Google的这个工具甚至还可以帮你优化你的代码)
确认你的网站有一个favicon.ico文件放在网站的根下,如/favicon.ico.浏览器会自动请求这个文件,就算这个图标文件没有在你的网页中明显说明,浏览器也会请求。如果你没有这个文件,就会出大量的404错误,这会消耗你的服务器带宽。(陈皓注:服务器返回404页面会比这个ico文件可能还大)
SEO(搜索引擎优化)
使用“搜索引擎喜欢的”URL,如:使用example.com/pages/45-article-title而不是example.com/index.php?page=45(陈皓注:这里的URL是说Wordpress的,后者是默认的)
如果你的动态页面要使用#,那么请把其改成#!,而在服务端,你需要处理$_REQUEST["_escaped_fragment_"]这是Google搜索引擎需要的。换句话说,./#!page=1会被Google搜索引擎转成./?_escaped_fragments_=page=1。(陈皓注:通常来说URL中的#后的东西都不会被传到服务器上,所以,为了要让Google可以抓取AJAX的东西,你需要使用#!,而Google会把“#!”转成“_escaped_fragment_”来向服务器发请求,Twitter的大量的链接者是#!的,比如:。另外,用户也许会使用Firefox或Chromium,history.pushState({"foo":"bar"},"About","./?page=1");是一个很不错的命令。所以,就算是我们的地址栏上的地址改变了,页面也不会重新装载。这可以让你使用?而不是#!也能无刷地保住当前的动态的页面,这可以让AJAX的请求被浏览器记住。
别使用“clickhere”这样的链接。这样一来,无法SEO,而且对于一些需要使用读屏人来说很不友好(陈皓注:关于读屏软件,可参看本站的“如果看不见你还能编程吗”)
做一个XMLsitemap,并放在网端的根下/sitemap.xml.(陈皓注:这个文件可以让搜索引擎了解你的网站图)
当你有多个URL指向同一个网页的使用,使用
你可以使用GoogleWebmasterTools来查看相关的问题。
使用GoogleWebmasterTools和YahooSiteExplorer.
安装GoogleAnalytics(或是别的开源的网站分析工具,如:Piwik).
了解robots.txt和搜索引擎爬虫是如何工作的。
重定向请求(使用301重定向网站),如果你要把定向到example.com(或是其它的变更)这样可以防止Google的rank因为域名的变化发生改变。(陈皓注:301重定向一般用作域名变更)
知道并不是所有的爬虫都是好的,有些爬虫的行为并不好。(陈皓注:比如向你的网站发大量的请求导致服务器性能低下)
如果你有一些非文本的内容需要在Google’ssitemap中,比如视频什么的。TimFarley的答案,可以让你看到很多有价值的东西。
技术
让你的XHTML/HTML和CSS符合W3C规范,并确认他们都是合格的。我们的目标是避免浏览器的“quirksmode”,并且可以让其更容易地能和非标准的浏览器工作,比如读屏器或移动设备。
了解浏览器是怎么装载JavaScript,CSS和其它资源的,了解其对视觉上的影响。(陈皓注:10年前我做网页的时候因为HTML还很弱,所以只能使用table来布局,使用table布局的问题就是整个table读完后页面才会显示,用户的视觉体验并不好)。在某些情况下,你可能需要把你的脚本放在页面的后面。
请注意JavaScript可能会被,这样会让你的AJAX失效。就算是大多数用户都了Javascript功能,但是也可能在一些情况下脚本是不被运行的,比如移动终端上,搜索引擎抓网页的时候也并不会执行你的脚本。
把视觉效果和JS框架合在一起讨论,考虑使用一个Service,如:GoogleLibrariesAPI来装载框架,这样可以让浏览器可能早就把这个JS框架已经cache了而不需要再从你的网站上下载了。
这里有多的东西被省略了,并不是因为那些可能不是有帮助的答案,而是因为那些东西都太细节了,超出了这个问题的范围,因为这本来就是一个Web开发需要了解东西的Overview。我想你可以去看一下其它人的答案,我有时间,我也会补充别人的答案进来。请随意编辑这个答案,因为可能有些东西忘了,也有可能有些东西不对。
阅读本文的人还阅读的文章: