概述
Web主要由Web服務(wù)器和Web客戶端組成。Web客戶端(瀏覽器)通過Http協(xié)議向Web服務(wù)器發(fā)送請求,Web服務(wù)器接收到請求后便會對該客戶端作出回應(yīng)。
比如:客戶端點擊了百度網(wǎng)站的搜索按鈕,那么服務(wù)器在收到客戶端發(fā)送的Http協(xié)議后,便會在數(shù)據(jù)庫中搜索數(shù)據(jù),然后再將相應(yīng)的網(wǎng)頁(通過HTML)發(fā)送給發(fā)送請求的Web客戶端,客戶端再通過瀏覽器來解讀HTML語句。這樣,網(wǎng)頁就會顯示出來了。
過程圖如圖所示:

TCP/IP協(xié)議簡單理解
HTTP協(xié)議是TCP/IP的上層協(xié)議。TCP協(xié)議主要負(fù)責(zé)確保(一個網(wǎng)絡(luò)節(jié)點到另一個網(wǎng)絡(luò)節(jié)點)發(fā)送的文件能夠完整的到達(dá)目的地,雖然在傳送過程中文件可能分成一小塊一小塊的傳輸。IP協(xié)議負(fù)責(zé)把這些數(shù)據(jù)(文件塊)沿著一定的道路(路由)到達(dá)目的地。HTTP則是有一些Web特性的網(wǎng)路協(xié)議。
請求流和響應(yīng)流的關(guān)鍵要素
請求流的關(guān)鍵要素:
1、HTTP方法(要完成的動作)
2、URL(要訪問的頁面)
3、表單參數(shù)(如方法參數(shù))
響應(yīng)流的關(guān)鍵要素:
1、狀態(tài)碼(請求是否成功)
2、內(nèi)容類型(如文件、圖片等)
3、內(nèi)容(具體的文件、圖片等)

HTTP請求常用方法
Web客戶端發(fā)送的請求方法主要有GET和POST兩種方法。其根本性的區(qū)別在于GET方法幾乎不能傳數(shù)據(jù)給Web服務(wù)器端,并且返回的信息會顯示在URL上(如圖1所示),而POST方法與此相反。

GET和POST方法更加直觀的區(qū)別如圖2和圖3所示:


Web 服務(wù)器和輔助應(yīng)用CGI(Common Gateway Interface)
Web 服務(wù)器只能向Web 客戶端提供靜態(tài)網(wǎng)頁的響應(yīng),無法傳遞動態(tài)頁面給客戶端。靜態(tài)網(wǎng)頁指的是顯示的信息都是固定的,任何客戶端都無法對其進行修改。比如:頁面顯示的是2018年11月,無論哪一天客戶端瀏覽的頁面時間都是2018年11月。如果我們想讓他動態(tài)的進行改變或者動態(tài)的更改數(shù)據(jù)信息,那么就要用到CGI。CGI的操作流程如下圖所示:




Reference
1.?Head First Servlets and JSP 中文版 第2版