計(jì)算機(jī)技術(shù)的發(fā)展可以說(shuō)是這20年里面發(fā)展最快的技術(shù)領(lǐng)域了。從99年千年之交的.com經(jīng)濟(jì)泡沫的破滅,到web的2.0 3.0,電商,移動(dòng)互聯(lián)網(wǎng)啥的。但是本文并不會(huì)對(duì)計(jì)算機(jī)網(wǎng)絡(luò)技術(shù)的應(yīng)用分工歷史作論述,也不會(huì)對(duì)網(wǎng)絡(luò)技術(shù)的應(yīng)用形態(tài)(移動(dòng)互聯(lián)網(wǎng)啥的)作梳理,而是針對(duì)網(wǎng)絡(luò)技術(shù)的本身來(lái)梳理計(jì)算機(jī)網(wǎng)絡(luò)技術(shù)進(jìn)化史。 其實(shí)我這一代并不是計(jì)算機(jī)網(wǎng)絡(luò)的第一代使用者,在99年之前,已經(jīng)經(jīng)歷過(guò)IE Netscape的瀏覽器之爭(zhēng),但是網(wǎng)絡(luò)技術(shù)開(kāi)始面向大眾鋪開(kāi),國(guó)內(nèi)確實(shí)在99年左右是第一個(gè)熱潮。當(dāng)時(shí)各種網(wǎng)站開(kāi)始興起,網(wǎng)絡(luò)內(nèi)容也開(kāi)始從靜態(tài)網(wǎng)頁(yè)向動(dòng)態(tài)網(wǎng)頁(yè)進(jìn)化。當(dāng)時(shí),去注冊(cè)自己的域名,建立自己公司的網(wǎng)站,是很時(shí)髦的。 下面我們不扯廢話,直入主題。 1 第一代的網(wǎng)絡(luò),Internet技術(shù):靜態(tài)網(wǎng)頁(yè)時(shí)代 計(jì)算機(jī)網(wǎng)絡(luò)技術(shù)推廣之前,計(jì)算機(jī)直接的數(shù)據(jù)交換,以軟盤(pán),光盤(pán)為載體。因此,計(jì)算機(jī)網(wǎng)絡(luò)技術(shù)的發(fā)展,首先是計(jì)算機(jī)局域網(wǎng)的技術(shù)發(fā)展。當(dāng)時(shí)包括微軟的SMB網(wǎng)上鄰居,Netware的組網(wǎng)技術(shù)等等。此時(shí)的Internet的發(fā)展,只是嶄露頭角,與局域網(wǎng)的10M bps 100M bps對(duì)比來(lái)說(shuō),56K的modem撥號(hào)上網(wǎng),實(shí)在是龜速啊。 因此,第一代的internet技術(shù)以靜態(tài)網(wǎng)頁(yè)的展示為基本應(yīng)用。僅僅用于大公司對(duì)用戶展示自己的官網(wǎng)。 第二代Internet技術(shù):動(dòng)態(tài)網(wǎng)頁(yè) 第二代Internet技術(shù)的核心是動(dòng)態(tài)網(wǎng)頁(yè)技術(shù)。最初是CGI,后來(lái)PHP,JSP,ASP技術(shù)開(kāi)始流行起來(lái),這一代技術(shù)的特點(diǎn)就是,用戶看到的網(wǎng)頁(yè)是動(dòng)態(tài)生成的,每一個(gè)用戶看到的網(wǎng)頁(yè),都是根據(jù)每一個(gè)用戶特有的一些訪問(wèn)內(nèi)容,看到的不同的訪問(wèn)結(jié)果。 此時(shí)的web服務(wù)器的后面多了數(shù)據(jù)庫(kù)服務(wù)器,Web服務(wù)器會(huì)根據(jù)每一個(gè)用戶的請(qǐng)求內(nèi)容,動(dòng)態(tài)的生成網(wǎng)頁(yè)內(nèi)容,發(fā)回給瀏覽器。 第三代Internet技術(shù):前后端分離 前后端分離技術(shù)的一個(gè)驅(qū)動(dòng)在于技術(shù)模塊化的需求,把數(shù)據(jù)的顯示與數(shù)據(jù)的邏輯運(yùn)算分開(kāi)。 技術(shù)支撐點(diǎn)在于微軟提出的XHR技術(shù),也就是俗稱(chēng)的ajax,讓瀏覽器可以動(dòng)態(tài)的向后端發(fā)起不刷新當(dāng)前網(wǎng)頁(yè)的而只是更新局部網(wǎng)頁(yè)DOM的技術(shù)。 有了前后端分離技術(shù),Web服務(wù)器不再與應(yīng)用服務(wù)器摻雜在一起。Web服務(wù)器專(zhuān)注于處理瀏覽器的頁(yè)面請(qǐng)求,應(yīng)用服務(wù)器專(zhuān)注于業(yè)務(wù)邏輯的實(shí)現(xiàn)。對(duì)于開(kāi)發(fā)人員來(lái)說(shuō),前后端分離使開(kāi)發(fā)人員可以專(zhuān)注于不同的技術(shù)領(lǐng)域,如前端會(huì)更多地關(guān)注瀏覽器的兼容,而后端則可以更多地在高并發(fā),分布式應(yīng)用,部署上面下功夫。 第四代Internet技術(shù),大前端模式。 首先說(shuō)明,大前端模式與上一代的前后端分離技術(shù)無(wú)技術(shù)優(yōu)劣之分,只有應(yīng)用場(chǎng)景不同之分。從業(yè)務(wù)需求來(lái)說(shuō),第三代的前后端分離技術(shù)交給瀏覽器的是一大堆的JS代碼,JS在此過(guò)程中擔(dān)任了搬運(yùn)工的角色,把運(yùn)算壓力從后端服務(wù)器壓到了前端瀏覽器。因此在兩種應(yīng)用場(chǎng)景下,并不合適: a 不利于SEO優(yōu)化。搜索引擎的爬蟲(chóng)并不會(huì)去處理動(dòng)態(tài)網(wǎng)頁(yè),有什么就記錄什么,那么,前端給一大堆的JS代碼,就不利于SEO。我們可以回憶,第二代動(dòng)態(tài)網(wǎng)頁(yè)技術(shù)其實(shí)就是后端直接返回給瀏覽器處理好的網(wǎng)頁(yè)。那么大前端模式也是如此,走了一個(gè)否定之否定的過(guò)程,不過(guò)技術(shù)原理已經(jīng)千差萬(wàn)別,先進(jìn)多了。 b 弱計(jì)算力的客戶端將存在響應(yīng)延時(shí)問(wèn)題。如果客戶端的計(jì)算速度比較慢,那么前后端分離就不太適合,因?yàn)樾枰蛻舳藶g覽器處理大量的工作。 因此,把瀏覽器端處理JS的工作挪回到服務(wù)器端,才能比較適應(yīng)這兩種需求,大前端模式應(yīng)運(yùn)而生。 而Node的發(fā)明,則讓大前端模式有了實(shí)現(xiàn)的技術(shù)可能。因?yàn)榍岸巳藛T是非常熟悉JS的,那么同樣的,把一部分JS代碼放到服務(wù)器上來(lái)運(yùn)行,把網(wǎng)頁(yè)先渲染好再發(fā)回給瀏覽器,對(duì)前端人員無(wú)技術(shù)上的難度,也比較的自然。 計(jì)算機(jī)與網(wǎng)絡(luò)技術(shù)的發(fā)展,推動(dòng)了everything on web的技術(shù)進(jìn)化,早先的ftp,mail,新聞組,bbs,聊天室,網(wǎng)絡(luò)聊天,現(xiàn)在無(wú)一例外有web模式的實(shí)現(xiàn)。別說(shuō)這種應(yīng)用程序,就是服務(wù)器的管理與配置,也從command的CLI與高消耗的GUI,尋找到了一個(gè)Web Config的解決方案。比如現(xiàn)在的各種路由器的配置,就直接在路由器上集成一個(gè)web server,讓客戶直接訪問(wèn)路由器的ip地址,就可以配置設(shè)備。這無(wú)疑是既考慮了CLI的學(xué)習(xí)成本,也考慮了GUI的性能成本的解決方案,是非常好的解決方案。 everything on web終點(diǎn)必然是apps on web,這也大大提升了瀏覽器軟件的重要程度,理論上來(lái)說(shuō),一個(gè)穩(wěn)定的OS,一個(gè)穩(wěn)定的Browser,就可以解決絕大部分的問(wèn)題??蛻舳瞬辉傩枰惭b一個(gè)個(gè)的app,而可以達(dá)到計(jì)算機(jī)的開(kāi)箱即用,所有的存儲(chǔ),app,都在網(wǎng)絡(luò)。在解決了安全問(wèn)題,隱私問(wèn)題之后,應(yīng)該是一個(gè)大的方向?,F(xiàn)在google的Chromebook就是按照這個(gè)思路來(lái)做的。其實(shí)手機(jī)上的各大app,其內(nèi)核也不過(guò)是瀏覽器,來(lái)與自己的服務(wù)器進(jìn)行專(zhuān)有的交互。 在現(xiàn)在這個(gè)年代,如果還有人在吹噓CS架構(gòu)模式的先進(jìn)性,那不是壞就是蠢。這將是一種沒(méi)落的架構(gòu),架構(gòu)的先天不足,無(wú)論如何努力,也將會(huì)向南轅北轍的方向發(fā)展,將來(lái)面對(duì)的將是別人技術(shù)代差帶來(lái)的降維打擊。 想起某個(gè)人的工作歷程,在BIOS這個(gè)幾乎技術(shù)停滯的領(lǐng)域徘徊了如此之久,互聯(lián)網(wǎng)的大風(fēng)一次次的吹過(guò)而他“不知有漢,無(wú)論魏晉”。唯余嘆息。 |
|
來(lái)自: yi321yi > 《網(wǎng)絡(luò)》