您好,登錄后才能下訂單哦!
本篇內容主要講解“一些程序員可能不知道的的開發技術”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“一些程序員可能不知道的的開發技術”吧!
靜態網頁
時代很多很多年以前,那時候上網還用調制解調器,它可以把電腦傳過來的數字信號調制成電話線可以傳輸的模擬信號發送出去,再把收到的模擬信號解調成數字信號,通過RJ45接口連接的網線送給計算機。
那時候網速還只有幾十KB/s,網頁都是靜態文件,沒有太多圖片,大都是一些花花綠綠的文字。
那時的web服務器的工作也很簡單,把靜態的網頁文件通過HTTP協議發送給瀏覽器就完事兒了。
CGI時代
后來,人們開始覺得乏味,靜態的網頁太過單調無聊,每個人看到的都是一樣的網頁,有沒有辦法在服務器端動態處理用戶的請求來輸出不同的內容,做到每個人看到的都是不同呢?
人們很自然想到了一個解決辦法:用編程語言編寫程序來處理這些請求,然后讓這些程序和web服務器想個辦法聯動起來。
于是,一個叫通用網關接口CGI的技術被搗鼓了出來,CGI是一套標準規范,它約定了web服務器和服務擴展程序之間的交互協議,有了它,web服務器插上了翅膀,可以動態處理網頁瀏覽請求了。
第一個吃螃蟹的是Perl,隨后C/C++下場。
int main() { printf("<html>\n"); printf("<body>\n"); printf("<h2>hello, %s!</h2>\n", user_ip); printf("</body>\n"); printf("</html>\n"); return 0; }
當web服務器收到的請求是一個CGI程序負責的范圍時,web服務器負責啟動這個CGI程序,通過命令行參數、環境變量、輸入輸出等方式和CGI進程保持聯系。
動態網頁時代
這套技術很快流行了起來,原來靜態的網站用上了CGI技術后,都變得不再呆板了。
CGI大行其道,但同時,也暴露了一個問題:
每次請求都要去啟動一個進程來處理,CGI進程啟動慢,還要初始化,這要是大量請求過來,那可就頂不住了。
于是,聰明的大牛們經過一陣優化,搞了一個CGI的升級版出來:FastCGI。
CGI采用主從模式,從進程負責干活,主進程負責和Web服務器打交道以及請求的派發管理。主進程常駐,提前啟動幾個工作進程,不必每次都啟動和初始化,大大提升了效率。
互聯網的快速發展讓人意想不到,CGI進程中的業務邏輯越來越重,急需要一個更適合的編程語言來編寫這種web后端程序,而這個時候,Perl開始式微,C/C++操作字符串又很麻煩。
所謂時勢造英雄,有三顆新星開始冒了出來:PHP、ASPX、和JSP,分別在后端使用PHP、C#、Java語言來開發,Web后端開發的三國殺時代開啟了!
通過printf或其他輸出方法來動態生成HTML畢竟太麻煩了,PHP、ASPX和JSP都選擇了另外一條路:動態裝配。
在網頁內容HTML模板中需要動態變化的位置插入一些擴展的標簽,這些標簽是瀏覽器無法識別的,它不屬于超文本標記語言HTML的規范,web后端處理程序通過識別這些標簽,進行數據裝配動態生成最后的HTML文件:
通過這種方式,web后端發展進入了快車道,各種功能強大五彩繽紛的網站紛紛誕生。
這是一個屬于動態網頁的時代!
前后端分離
輝煌持續了數年,變局開始出現。
動態網頁技術,后端開發人員既要負責業務邏輯,還要學習前端技術,精力被分散。
前端技術發展迅猛,日新月異,后端開發疲于應對。
后來,移動互聯網興起,各大網站紛紛布局移動APP,加劇了前端與后端的技術分化。
于是,前后端分離開發的口號被響亮的喊了出來。
后端負責業務邏輯, 前端、Android端、iOS端各自負責交互與展示。
只要定義好數據接口,各方統一行事,一個后端,多個終端的時代到來。
分離后的前后端,各自開始起飛。
前端,從早期的JQuery、BootStrap為代表的“庫”時代到后來的AngularJS、React、VUE三強爭霸的框架腳手架時代,前端技術徹底放飛自我。
后端,隨著互聯網規模的不斷發展,緩存技術、數據庫、消息隊列、負載均衡、容器技術等一系列技術層出不窮。
現在的后端開發,和當初CGI程序所扮演的角色早已不可同日而語。
到此,相信大家對“一些程序員可能不知道的的開發技術”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。