當前位置:首頁文章首頁 IT學院 IT技術(shù)

Web開發(fā)中需要了解的東西

作者:  來源:  發(fā)布時間:2011-12-7 10:47:24  點擊:
如果你的動態(tài)頁面要使用 # ,那么請把其改成 #! ,而在服務端,你需要處理$_REQUEST["_escaped_fragment_"] 這是Google搜索引擎需要的。換句話說,./#!page=1 會被Google搜索引擎轉(zhuǎn)成 ./?_escaped_fragments_=page=1。 (陳皓注:通常來說URL中的#后的東西都不會被傳到服務器上,所以,為了要讓Google可以抓取AJAX的東西,你需要使用#!,而Google會把 “#!”轉(zhuǎn)成“_escaped_fragment_”來向服務器發(fā)請求,Twitter的大量的鏈接者是#!的,比如:https://twitter.com/#!/your_activity)。另外,用戶也許會使用Firefox 或 Chromium, history.pushState({"foo":"bar"}, "About", "./?page=1"); 是一個很不錯的命令。所以,就算是我們的地址欄上的地址改變了,頁面也不會重新裝載。這可以讓你使用 ? 而不是 #! 也能無刷地保住當前的動態(tài)的頁面,這可以讓AJAX的請求被瀏覽器記住。

別使用 “click here” 這樣的鏈接。這樣一來,無法SEO,而且對于一些需要使用讀屏人來說很不友好(陳皓注:關(guān)于讀屏軟件,可參看本站的“如果看不見你還能編程嗎”)

做一個 XML sitemap,并放在網(wǎng)端的根下 /sitemap.xml. (陳皓注:這個文件可以讓搜索引擎了解你的網(wǎng)站圖)

當你有多個URL指向同一個網(wǎng)頁的使用,使用 你可以使用 Google Webmaster Tools 來查看相關(guān)的問題。

使用 Google Webmaster Tools 和 Yahoo Site Explorer.

安裝 Google Analytics (或是別的開源的網(wǎng)站分析工具,如: Piwik).

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

重定向請求 (使用 301 重定向網(wǎng)站) ,如果你要把 www.example.com 定向到 example.com(或是其它的變更) 這樣可以防止Google的rank因為域名的變化發(fā)生改變。(陳皓注:301重定向一般用作域名變更)

知道并不是所有的爬蟲都是好的,有些爬蟲的行為并不好。(陳皓注:比如向你的網(wǎng)站發(fā)大量的請求導致服務器性能低下)

如果你有一些非文本的內(nèi)容需要在 Google’s sitemap 中,比如視頻什么的。Tim Farley的答案,可以讓你看到很多有價值的東西。

技術(shù)

理解什么是 HTTP 比如 GET, POST, sessions, cookies等,了解什么是 “stateless” 無狀態(tài)。

讓你的 XHTML/HTML 和 CSS 符合 W3C 規(guī)范,并確認他們都是 合格的。我們的目標是避免瀏覽器的 “quirks mode”,并且可以讓其更容易地能和非標準的瀏覽器工作,比如讀屏器或移動設(shè)備。

理解瀏覽器是怎么處理 JavaScript 的。(陳皓:你會看到有些Javascript代碼在頁面上前面,有些則是在后面,所以你需要對其了解清楚為什么是這樣)

了解瀏覽器是怎么裝載 JavaScript,CSS和其它資源的,了解其對視覺上的影響。(陳皓注:10年前我做網(wǎng)頁的時候因為HTML還很弱,所以只能使用table來布局,使用table布局的問題就是整個table讀完后頁面才會顯示,用戶的視覺體驗并不好)。在某些情況下,你可能需要把你的腳本放在頁面的后面。

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

請注意 JavaScript 可能會被禁止,這樣會讓你的AJAX失效。就算是大多數(shù)用戶都開啟了Javascript功能,但是也可能在一些情況下腳本是不被運行的,比如移動終端上,搜索引擎抓網(wǎng)頁的時候也并不會執(zhí)行你的腳本。

學習 301 和 302 轉(zhuǎn)向的區(qū)別 (這也是一個SEO的問題).

盡可能多地學習你的部署平臺。(比如:操作系統(tǒng),Web Server:Apache/Nginx,防火墻,數(shù)據(jù)庫,等等)

考慮使用一個 Reset Style Sheet.

考慮使用 JavaScript 框架(如: jQuery, MooTools, Prototype, Dojo 或 YUI 3),它們會很好的兼容于不同的瀏覽器。(陳皓注:強烈推薦你看一下本站的開源中最好的WEB開發(fā)資源一文)

把視覺效果和JS框架合在一起討論,考慮使用一個Service,如:Google Libraries API 來裝載框架,這樣可以讓瀏覽器可能早就把這個JS框架已經(jīng)cache了而不需要再從你的網(wǎng)站上下載了。

Bug fixing

明白你會花20%的時間寫代碼,而80%的時候在維護,所以你要小心編碼。(陳皓注:參看本站的“多些時間可以少些代碼”一文)

設(shè)計一個好的錯誤報告機制。

設(shè)計一個入口可以讓人們聯(lián)系到你并給你建議和批評。

為你開發(fā)的東西形成文檔,這樣可以讓后來的人容易維護你的軟件和系統(tǒng)。

頻繁備份(也可確保你的這些備份功能正常) Ed Lucas 的回答 有一些忠告。你還需要有一個恢復策略,而不只是一個備份策略。

使用一個版本控制系統(tǒng)來保存你的代碼,如: Subversion 或 Git.

別忘了做Acceptance Testing,使用 Selenium 能幫到你。

確保你有足夠的日志,你可以使用 log4j, log4n 或 log4r。如果出了問題,這是可以讓你快速找到問題的方式。

當你寫日志的時候,確保你記錄了你捕獲了處理和未處理異常。報告和分析日志可以讓你知道你網(wǎng)站的問題。

這里有多的東西被省略了,并不是因為那些可能不是有幫助的答案,而是因為那些東西都太細節(jié)了,超出了這個問題的范圍,因為這本來就是一個Web開發(fā)需要了解東西的Overview。我想你可以去看一下其它人的答案,我有時間,我也會補充別人的答案進來。請隨意編輯這個答案,因為可能有些東西忘了,也有可能有些東西不對。

上一篇:Perl VS PHP常用代碼比較 下一篇:

文章評論

軟件按字母排列: A B C D E F G H I J K L M N O P Q R S T U V W X Y Z