如何通俗地講解Web是什么意思?
網(wǎng)友解答: 簡(jiǎn)單的說(shuō)Web就是為用戶提供的一種在互聯(lián)網(wǎng)上瀏覽信息的服務(wù),Web服務(wù)是動(dòng)態(tài)的、可交互的、跨平臺(tái)的和圖形化的。Web服務(wù)為用戶打開了一扇獲取互聯(lián)網(wǎng)服務(wù)的大門,這些服務(wù)不僅僅包
簡(jiǎn)單的說(shuō)Web就是為用戶提供的一種在互聯(lián)網(wǎng)上瀏覽信息的服務(wù),Web服務(wù)是動(dòng)態(tài)的、可交互的、跨平臺(tái)的和圖形化的。
Web服務(wù)為用戶打開了一扇獲取互聯(lián)網(wǎng)服務(wù)的大門,這些服務(wù)不僅僅包括信息瀏覽服務(wù),也包括各種交互式服務(wù),包括聊天、購(gòu)物、學(xué)習(xí)等等內(nèi)容,可以說(shuō)Web的出現(xiàn)釋放了互聯(lián)網(wǎng)巨大的力量。
Web應(yīng)用開發(fā)也經(jīng)過(guò)了幾代技術(shù)的不斷發(fā)展,目前Web開發(fā)依然是最重要的開發(fā)內(nèi)容之一。說(shuō)到Web開發(fā)就一定會(huì)涉及到Web技術(shù)的基本呈現(xiàn)方式,基礎(chǔ)的技術(shù)包括超文本標(biāo)記語(yǔ)言(HTML)和HTTP協(xié)議,HTML是一種呈現(xiàn)數(shù)據(jù)的方式(給人看的),而HTTP則是一組通信的標(biāo)準(zhǔn)(語(yǔ)法、語(yǔ)義、時(shí)許),可以簡(jiǎn)單的理解為HTTP攜帶HTML。
為了能夠更全面的了解Web,下面簡(jiǎn)單的梳理一下Web發(fā)展的歷史,介紹一下其中涉及到的技術(shù)。
早期的Web服務(wù)比較簡(jiǎn)單,用戶發(fā)出請(qǐng)求到達(dá)服務(wù)器之后,服務(wù)器給出對(duì)應(yīng)的回應(yīng),用戶通過(guò)瀏覽器把回應(yīng)的內(nèi)容(HTML)解析(呈現(xiàn))出來(lái),看一個(gè)圖:
圖中有幾個(gè)重要的元素需要簡(jiǎn)單的解釋一下,Browser代表瀏覽器,瀏覽器是發(fā)送消息和接受消息的終端,是用戶與Web服務(wù)交互的基本手段。用戶發(fā)送請(qǐng)求的內(nèi)容會(huì)封裝成request對(duì)象然后發(fā)送到服務(wù)端,ruquest中封裝了用戶的元信息和提交的數(shù)據(jù)信息,其中元信息就是用戶的基本信息,包括瀏覽器版本號(hào)、服務(wù)端口、使用的操作系統(tǒng)等內(nèi)容。
httpd是處理HTTP請(qǐng)求的服務(wù)(進(jìn)程),httpd會(huì)啟動(dòng)相應(yīng)的服務(wù)來(lái)處理用戶的請(qǐng)求,往往是把服務(wù)端對(duì)應(yīng)的文件(HTML)封裝成response對(duì)象并返回給用戶,用戶的瀏覽器解析出response中的內(nèi)容并最終呈現(xiàn)給用戶。整個(gè)過(guò)程需要了解瀏覽器、服務(wù)器、資源(文件)三者之間的關(guān)系,以及各自所部署的位置。
早期的Web應(yīng)用多以靜態(tài)資源為主,把提供靜態(tài)資源服務(wù)的Web服務(wù)稱作為Web Site(網(wǎng)站),為了豐富Web服務(wù),定義了能夠進(jìn)行動(dòng)態(tài)服務(wù)的Web Application,看一個(gè)圖:
Web Application的功能就非常強(qiáng)大了,它能夠動(dòng)態(tài)處理業(yè)務(wù)邏輯。這里面新增加了兩個(gè)重要的角色,一個(gè)是CGI(公共網(wǎng)關(guān)接口),另一個(gè)是Database(數(shù)據(jù)庫(kù))。CGI提供業(yè)務(wù)處理能力,數(shù)據(jù)庫(kù)提供數(shù)據(jù)存儲(chǔ)服務(wù)。CGI在服務(wù)端的執(zhí)行過(guò)程如圖所示:
CGI的出現(xiàn)解決了Web動(dòng)態(tài)交互的問(wèn)題,可以說(shuō)Web服務(wù)的形式就更加豐富了,也由此開啟了一個(gè)Web開發(fā)的大時(shí)代。
雖然CGI的方式能解決動(dòng)態(tài)交互問(wèn)題,但是CGI自身也有諸多問(wèn)題,比如擴(kuò)展性差、處理能力不強(qiáng)、依賴平臺(tái)、重量級(jí)等,此時(shí)在Web領(lǐng)域推出了一個(gè)技術(shù)就是Java Web技術(shù),Java Web技術(shù)能夠有效解決這些問(wèn)題,看一個(gè)處理流程圖:
通過(guò)與CGI的對(duì)比能夠看出,Servlet技術(shù)的資源消耗更少。由于Java Web表現(xiàn)出來(lái)的優(yōu)秀性能,所以在Web開發(fā)領(lǐng)域得到了廣泛的應(yīng)用。后來(lái)推出的JavaEE技術(shù)更是進(jìn)一步的解決了性能問(wèn)題,為Web服務(wù)構(gòu)建大型應(yīng)用奠定了基礎(chǔ),看一個(gè)圖:
雖然目前Java Web技術(shù)已經(jīng)有了更多的方案,比如輕量級(jí)處理方案(Spring),但是Java Web卻是目前大型互聯(lián)網(wǎng)平臺(tái)的常見解決方案,看兩個(gè)圖:
以上就是Web服務(wù)的發(fā)展過(guò)程,包括技術(shù)發(fā)展的一個(gè)簡(jiǎn)單介紹。
我做Java Web開發(fā)多年,目前也在帶Java開發(fā)團(tuán)隊(duì),我會(huì)陸續(xù)在酷米寫一些關(guān)于Web技術(shù)方面的文章,對(duì)Web技術(shù)感興趣的朋友可以關(guān)注我的酷米號(hào),相信一定會(huì)有所收獲。
如果有Web開發(fā)方面的問(wèn)題,也可以咨詢我。
謝謝!
網(wǎng)友解答:既然是通俗的介紹,那就不要長(zhǎng)篇大論,更不要晦澀難懂,尤其避免專業(yè)各名詞和架構(gòu)圖流程圖之類。
最好是比喻,打比方、講故事。
首先web就是網(wǎng)頁(yè),打開瀏覽器看到的界面就是web。完了。就這么簡(jiǎn)單。
了解一下:
網(wǎng)頁(yè)可以看成是一個(gè)word文檔或一張照片和一幅畫,很多網(wǎng)頁(yè)組成一個(gè)網(wǎng)站(類似一個(gè)大相冊(cè)),網(wǎng)絡(luò)就是把無(wú)數(shù)個(gè)網(wǎng)站用線連接了起來(lái),使得彼此可以跳轉(zhuǎn)。因?yàn)檫B接它們的是一根根網(wǎng)線,看起來(lái)像網(wǎng)一樣,所以這個(gè)就叫net網(wǎng)絡(luò),而基于net展現(xiàn)的給用戶看的頁(yè)面就是web網(wǎng)頁(yè)。
稍進(jìn)一步:
再次web不只是頁(yè)面,而包含頁(yè)面背后很多的服務(wù)和接口等。因?yàn)橐尸F(xiàn)一個(gè)頁(yè)面會(huì)經(jīng)歷很多步驟,需要解釋器、傳輸器、數(shù)據(jù)加工處理,服務(wù)容器等等非常多。這些隱藏在背后的我們稱之為后臺(tái),而呈現(xiàn)出來(lái)給用戶看的通常稱之為前端。這就好比你看見電視畫面web,但是是通過(guò)衛(wèi)星傳輸體系net把畫面換遞給你,而畫面背后有很多隱藏的制作排播體系(后臺(tái))。
最后:
web是相對(duì)client來(lái)講的一種技術(shù),基于HTML(Hyper Text Mark-up Language )超文本標(biāo)記語(yǔ)言,是 Web 的描述語(yǔ)言。相對(duì)于client基于系統(tǒng)開發(fā)原生的應(yīng)用,web有很多好處,比如跨平臺(tái),無(wú)需下載,互相可以連接通信等等。web包含前端和后臺(tái)兩部分。web前端的呈現(xiàn)基于三種技術(shù):HTML、CSS、JavaScript,HTML用來(lái)格式化web,CSS用來(lái)美化web,JS則用來(lái)確定交互行為。而web后端的技術(shù)非常多,從cgi到j(luò)ava php .net再到python ruby nodejs go等等非常多,但總體來(lái)講就是對(duì)于數(shù)據(jù)的一種加工處理方式,最后輸出HTML給到前端解釋器(web瀏覽器)。