浅谈什么是web
轉自:微點閱讀? ?https://www.weidianyuedu.com
簡單的說Web就是為用戶提供的一種在互聯網上瀏覽信息的服務,Web服務是動態的、可交互的、跨平臺的和圖形化的。
Web服務為用戶打開了一扇獲取互聯網服務的大門,這些服務不僅僅包括信息瀏覽服務,也包括各種交互式服務,包括聊天、購物、學習等等內容,可以說Web的出現釋放了互聯網巨大的力量。
Web應用開發也經過了幾代技術的不斷發展,目前Web開發依然是最重要的開發內容之一。說到Web開發就一定會涉及到Web技術的基本呈現方式,基礎的技術包括超文本標記語言(HTML)和HTTP協議,HTML是一種呈現數據的方式(給人看的),而HTTP則是一組通信的標準(語法、語義、時許),可以簡單的理解為HTTP攜帶HTML。
為了能夠更全面的了解Web,下面簡單的梳理一下Web發展的歷史,介紹一下其中涉及到的技術。
早期的Web服務比較簡單,用戶發出請求到達服務器之后,服務器給出對應的回應,用戶通過瀏覽器把回應的內容(HTML)解析(呈現)出來,看一個圖:
圖中有幾個重要的元素需要簡單的解釋一下,Browser代表瀏覽器,瀏覽器是發送消息和接受消息的終端,是用戶與Web服務交互的基本手段。用戶發送請求的內容會封裝成request對象然后發送到服務端,ruquest中封裝了用戶的元信息和提交的數據信息,其中元信息就是用戶的基本信息,包括瀏覽器版本號、服務端口、使用的操作系統等內容。
httpd是處理HTTP請求的服務(進程),httpd會啟動相應的服務來處理用戶的請求,往往是把服務端對應的文件(HTML)封裝成response對象并返回給用戶,用戶的瀏覽器解析出response中的內容并最終呈現給用戶。整個過程需要了解瀏覽器、服務器、資源(文件)三者之間的關系,以及各自所部署的位置。
早期的Web應用多以靜態資源為主,把提供靜態資源服務的Web服務稱作為Web Site(網站),為了豐富Web服務,定義了能夠進行動態服務的Web Application,看一個圖:
Web Application的功能就非常強大了,它能夠動態處理業務邏輯。這里面新增加了兩個重要的角色,一個是CGI(公共網關接口),另一個是Database(數據庫)。CGI提供業務處理能力,數據庫提供數據存儲服務。CGI在服務端的執行過程如圖所示:
CGI的出現解決了Web動態交互的問題,可以說Web服務的形式就更加豐富了,也由此開啟了一個Web開發的大時代。
雖然CGI的方式能解決動態交互問題,但是CGI自身也有諸多問題,比如擴展性差、處理能力不強、依賴平臺、重量級等,此時在Web領域推出了一個技術就是Java Web技術,Java Web技術能夠有效解決這些問題,看一個處理流程圖:
通過與CGI的對比能夠看出,Servlet技術的資源消耗更少。由于Java Web表現出來的優秀性能,所以在Web開發領域得到了廣泛的應用。后來推出的JavaEE技術更是進一步的解決了性能問題,為Web服務構建大型應用奠定了基礎,看一個圖:
雖然目前Java Web技術已經有了更多的方案,比如輕量級處理方案(Spring),但是Java Web卻是目前大型互聯網平臺的常見解決方案,看兩個圖:
以上就是Web服務的發展過程,包括技術發展的一個簡單介紹。
我做Java Web開發多年,目前也在帶Java開發團隊,我會陸續在頭條寫一些關于Web技術方面的文章,對Web技術感興趣的朋友可以關注我的頭條號,相信一定會有所收獲。
總結
- 上一篇: 股票市场的心理防线(转自闽发论坛)
- 下一篇: 细数G1GC