Web應用程序的服務器端,相對前端而言,通常亦稱為后端,可謂是web應用程序的核心部分,在服務器端,要接受并處理客戶端的請求,完成業務邏輯,獲取和處理數據,或者調用其他系統的應用接口、數據接口,等等,最后將結果返回給客戶端,再通過客戶端的渲染,呈現給用戶。
后端程序員的修煉,主要在于編程語言、數據庫、服務器配置、網絡等幾面。
編程語言
選擇什么作為服務器端的語言(服務器端腳本語言),跟多種因素相關,如操作系統、web服務器、應用程序框架、系統功能、系統的復雜程度及要求,等等。目前,主流的語言,有Java、C#、PHP、Python、Ruby等,而一些的語言,也在崛起,如谷歌的GO語言、Node.js等。但基本上,如果熟練地掌握了一兩種主流語言,對于其他語言的學習和應用,是可以觸類旁通而快速掌握和應用的,計算機語言學到一定程度,遇到新的語言,基本上是可以借助于開發文檔邊學邊開發的。
當然,于國人而言,還有項語言修煉,是極其重要的,即英語能力。這是沒有辦法的事情,因為,編程語言、開發工具、各種框架,直至最新的開發手冊,最新的計算機專業書籍,基本上都是以英語為主導的。你英語不過關,那就基本上學不到前沿的東西了。真正的高手,是沒有什么時間、精力或者興趣來做翻譯的。真正的計算機高手們,應該是看英語原版專業書籍,多過看中文書籍的。
數據庫
一是應該有扎實的數據庫理論知識基礎,二是要掌握數據庫建模的基本方法和SQL語言,三是要在實踐中熟悉幾種主流的數據庫系統,如MySQL、MS SQL Server、Oracle等。對于web程序員而言,還有必要了解一些目前相當流行的新的數據庫技術及緩存技術,如一些非關系型數據庫系統如MongoDB、CouchDB、Redis等。
web服務器及其配置
幾大主流服務器(或者應用容器),Apache、IIS、Nginx、Tomcat,是應該熟悉的。當然,選擇什么服務器,跟選擇的操作系統、語言、應用程序框架都有關,選擇微軟的.net框架,那選擇IIS就是順理成章的;若選擇Java語言,則Tomcat就是通常的應用服務器了(大型復雜的系統,可能需要用到J2EE框架的企業級應用服務器)。
網絡的基本知識
一些常用的協議,是需要熟悉的,HTTP、 SMTP、POP3等,尤其是HTTP協議,作為web程序員,是應該深入理解和掌握的,否則,你怎么能對客戶端與服務器端的交互機制有深刻的理解呢?另外,對于目前一些的web技術,如等,也應該有所了解。小程序一出來,就支持
另外,互聯網的核心協議族TCP/IP協議,也是應該逐步熟悉的,這會幫助你理解整個互聯網世界的通訊機制和邏輯,而這往往是軟件工程類計算機專業畢業生所欠缺的。