下文是外文翻譯教程,大家能夠?qū)W習(xí)一下。
一、界面和用戶體驗(yàn)(Interface and User Experience)
1.1
知道各大閱讀器履行Web標(biāo)準(zhǔn)的狀況,保證你的站點(diǎn)在首要閱讀器上都能正常運(yùn)轉(zhuǎn)。你至少要測試以下引擎:Gecko(用于Firefox)、Webkit(用于Safari、Chrome和一些手機(jī)閱讀器)、IE(你能夠利用微軟發(fā)布的Application Compatibility VPC Images進(jìn)行測試)和Opera。同時(shí),不同的操作體系,或許也會(huì)影響閱讀器怎么出現(xiàn)你的網(wǎng)站。
1.2
除了閱讀器,網(wǎng)站還有其他運(yùn)用方式:手機(jī)、屏幕朗誦器、搜索引擎等等。你應(yīng)該知道在這些狀況下,你的網(wǎng)站的運(yùn)轉(zhuǎn)狀況。MobiForge提供了手機(jī)網(wǎng)站開發(fā)的一些相關(guān)知識(shí)。
1.3
知道怎么在基本不影響用戶運(yùn)用的狀況下晉級(jí)網(wǎng)站。通常來說,你必須有版別控制體系(CVS、Subversion、Git等等)和數(shù)據(jù)備份機(jī)制(backup)。
1.4
不要讓用戶看到那些不友愛的犯錯(cuò)提示。
1.5
不要直接顯示用戶的Email地址,至少不要用純文本顯示。
1.6
為你的網(wǎng)站設(shè)置一些合理的運(yùn)用約束,一旦超過門檻值,就主動(dòng)停止服務(wù)。(這也與網(wǎng)站安全相關(guān)。)
1.7
知道怎么完結(jié)網(wǎng)頁的漸進(jìn)式增強(qiáng)(progressive enhancement)。
1.8
用戶宣布POST懇求后,總是將其重導(dǎo)向(redirect)至別的一個(gè)網(wǎng)頁。
1.9
不要忘掉網(wǎng)站的可拜訪性(accessibility,即殘疾人怎么運(yùn)用網(wǎng)站)。對(duì)于美國網(wǎng)站來說,有時(shí)這是法定要求。WAI-ARIA有一些這方面很好的參閱資料。
二、安全性(Security)
2.1
閱覽《OWASP開發(fā)攻略》,它提供了全面的網(wǎng)站安全指導(dǎo)。
2.2
了解SQL注入(SQL injection)及其預(yù)防方法。
2.3
永遠(yuǎn)不要信賴用戶提交的數(shù)據(jù)(cookie也是用戶端提交的。
2.4
不要明文(plain-text)貯存用戶的密碼,要hash處理后再貯存。
2.5
不要對(duì)你的用戶認(rèn)證體系太自傲,它或許很容易就被攻破,而你事先底子沒意識(shí)到存在相關(guān)漏洞。
2.6
了解怎么處理信用卡。
2.7
在登錄頁面及其他處理敏感信息的頁面,運(yùn)用SSL/HTTPS。
2.8
知道怎么抵擋session綁架(session hijacking)。
2.9
防止"跨站點(diǎn)履行"(cross site scripting,XSS)。
2.10
防止"跨域假造懇求"(cross site request forgeries,XSRF)。
2.11
及時(shí)打上補(bǔ)丁,讓你的體系一直跟上最新版別。
2.12
承認(rèn)你的數(shù)據(jù)庫連接信息的安全性。
2.13
盯梢攻擊技能的最新發(fā)展,以及你運(yùn)用的渠道的最新安全漏洞。
2.14
閱覽Google的《閱讀器安全手冊(cè)》(Browser Security Handbook)。
2.15
閱覽《網(wǎng)絡(luò)軟件的黑客手冊(cè)》(The Web Application Hackers Handbook)。
三、功能(Performance)
3.1
只需有或許,就運(yùn)用緩存(caching)。正確了解和運(yùn)用HTTP caching與HTML5離線貯存。
3.2
優(yōu)化圖片。不要把一個(gè)20KB的圖片文件,作為重復(fù)出現(xiàn)的網(wǎng)頁背景圖案。
3.3
學(xué)習(xí)怎么用gzip/deflate緊縮內(nèi)容(deflate方式更可。。
3.4
將多個(gè)樣式表文件或腳本文件,合為一個(gè)文件,這樣能夠削減閱讀器的http懇求數(shù),以及減小gzip緊縮后的文件總體積。
3.5
閱讀Yahoo的Exceptional Performance網(wǎng)站,里面有很多提高前端功能的優(yōu)秀建議,還有他們的YSlow東西。Google的page speed則是另一個(gè)用來剖析網(wǎng)頁功能的東西。兩者都要求安裝Firebug。
3.6
假如你的網(wǎng)頁用到很多的小體積圖片(比方東西欄),就應(yīng)該運(yùn)用CSS Image Sprite,意圖是削減http懇求數(shù)。
3.7
大流量的網(wǎng)站應(yīng)該考慮將網(wǎng)頁對(duì)象分散在多個(gè)域名(split components across domains)。
3.8
靜態(tài)內(nèi)容(比方圖片、CSS、JavaScript、以及其他cookie無關(guān)的網(wǎng)頁內(nèi)容)都應(yīng)該放在一個(gè)不需求運(yùn)用cookie的獨(dú)立域名之上。由于域名之下假如有cookie,那么客戶端向該域名宣布的每次http懇求,都會(huì)附上cookie內(nèi)容。這兒的一個(gè)好方法便是運(yùn)用"內(nèi)容分發(fā)網(wǎng)絡(luò)"(Content Delivery Network,CDN)。
3.9
將閱讀器完結(jié)網(wǎng)頁渲染所需求的http懇求數(shù)最小化。
3.10
運(yùn)用Google的Closure Compiler緊縮JavaScript文件,YUI Compressor亦可。
3.11
保證網(wǎng)站根目錄下有favicon.ico文件,由于即使網(wǎng)頁中底子不包括這個(gè)文件,閱讀器也會(huì)主動(dòng)宣布對(duì)它的懇求。所以假如這個(gè)文件不存在,就會(huì)發(fā)生很多的404過錯(cuò),耗費(fèi)光你的服務(wù)器的帶寬。
四、搜索引擎優(yōu)化(Search Engine Optimization,SEO)
4.1
運(yùn)用"搜索引擎友愛"的URL形式,比方example.com/pages/45-article-title,而不是example.com/index.php?page=45。
4.2
不要運(yùn)用"點(diǎn)擊這兒"之類的超級(jí)鏈接,由于這樣等于浪費(fèi)了一個(gè)SEO時(shí)機(jī),而且降低了"屏幕朗誦器"(screen reader)的運(yùn)用效果。
4.3
創(chuàng)建一個(gè)XML sitemap文件,它的缺省位置一般是/sitemap.xml(即放在網(wǎng)站根目錄下)。
4.4
當(dāng)你有多個(gè)URL指向同一個(gè)內(nèi)容時(shí),在網(wǎng)頁代碼中運(yùn)用[/color]。
4.5
運(yùn)用Google的[color=#556677]Webmaster Tools和Yahoo的Site Explorer。
4.6
從一開始就運(yùn)用Google Analytics(或許開源的拜訪量剖析東西Piwik)。
4.7
知道robots.txt的效果,以及搜索引擎蜘蛛的作業(yè)原理。
4.8
將www.example.com的拜訪懇求導(dǎo)向example.com(運(yùn)用301 Moved Permanently重定向),或許選用相反的做法,意圖是防止Google把它們作為兩個(gè)網(wǎng)站,分開核算排名。
4.9
知道存在著惡意或行為不正當(dāng)?shù)木W(wǎng)絡(luò)蜘蛛。
4.10
假如你的網(wǎng)站有非文本的內(nèi)容(比方視頻、音頻等等),你應(yīng)該參閱Google的sitemap擴(kuò)展協(xié)議。
五、技能(Technology)
5.1
了解HTTP協(xié)議,以及諸如GET、POST、sessions、cookies之類的概念,包括"無狀態(tài)"(stateless)是什么意思。
5.2
保證你的XHTML/HTML和CSS契合W3C標(biāo)準(zhǔn),使得它們能夠通過檢驗(yàn)。這能夠使你的網(wǎng)頁防止觸發(fā)閱讀器的乖僻行為(quirk),而且使它在"屏幕朗誦器"和手機(jī)上也能正常作業(yè)。
5.3
了解閱讀器怎么處理JavaScript腳本。
5.4
了解網(wǎng)頁上的JavaScript文件、樣式表文件和其他資源是怎么裝載及運(yùn)轉(zhuǎn)的,考慮它們對(duì)頁面功能有何影響。在某些狀況下,或許應(yīng)該將腳本文件放置在網(wǎng)頁的尾部。
5.5
了解JavaScript沙箱(Javascript sandbox)的作業(yè)原理,尤其是假如你打算運(yùn)用iframe。
5.6
知道JavaScript或許無法運(yùn)用或被禁用,以及Ajax并不是一定會(huì)運(yùn)轉(zhuǎn)。記住,"不允許腳本運(yùn)轉(zhuǎn)"(NoScript)正在某些用戶中變得盛行,手機(jī)閱讀器對(duì)腳本的支持千差萬別,而Google索引網(wǎng)頁時(shí)不運(yùn)轉(zhuǎn)大部分的腳本文件。
5.7
了解301重定向和302重定向之間的區(qū)別(這也是一個(gè)SEO相關(guān)問題)。
5.8
盡或許多得了解你的布置渠道(deployment platform)。
5.9
考慮運(yùn)用樣式表重置(Reset Style Sheet)。
5.10
考慮運(yùn)用JavaScript框架(比方j(luò)Query、MooTools、Prototype),它們能夠使你不用考慮閱讀器之間的差異。
六、處理bug
6.1
了解程序員20%的時(shí)刻用于編碼,80%的時(shí)刻用于維護(hù),依據(jù)這一點(diǎn)相應(yīng)組織時(shí)刻。
6.2
樹立一個(gè)有用的過錯(cuò)報(bào)告機(jī)制。
6.3
樹立某些途徑或體系,讓用戶能夠與你觸摸,向你提出建議和批判。
6.4
為將來的維護(hù)和客服人員撰寫文檔,解釋清楚體系是怎么運(yùn)轉(zhuǎn)的。
6.5
常常備份。ǘ冶WC這些備份是有用的。)除了備份機(jī)制,你還必須有一個(gè)恢復(fù)機(jī)制。
6.6
運(yùn)用某種版別控制體系貯存你的文件,比方Subversion或Git。
6.7
不要忘掉做單元測試(Unit Testing),Selenium之類的框架會(huì)對(duì)你有用。 |