概述
Web主要由Web服務器和Web客戶端組成。Web客戶端(瀏覽器)通過Http協(xié)議向Web服務器發(fā)送請求,Web服務器接收到請求后便會對該客戶端作出回應。
比如:客戶端點擊了百度網(wǎng)站的搜索按鈕,那么服務器在收到客戶端發(fā)送的Http協(xié)議后糜芳,便會在數(shù)據(jù)庫中搜索數(shù)據(jù),然后再將相應的網(wǎng)頁(通過HTML)發(fā)送給發(fā)送請求的Web客戶端魄衅,客戶端再通過瀏覽器來解讀HTML語句峭竣。這樣,網(wǎng)頁就會顯示出來了晃虫。
過程圖如圖所示:
TCP/IP協(xié)議簡單理解
HTTP協(xié)議是TCP/IP的上層協(xié)議皆撩。TCP協(xié)議主要負責確保(一個網(wǎng)絡節(jié)點到另一個網(wǎng)絡節(jié)點)發(fā)送的文件能夠完整的到達目的地,雖然在傳送過程中文件可能分成一小塊一小塊的傳輸哲银。IP協(xié)議負責把這些數(shù)據(jù)(文件塊)沿著一定的道路(路由)到達目的地扛吞。HTTP則是有一些Web特性的網(wǎng)路協(xié)議。
請求流和響應流的關(guān)鍵要素
請求流的關(guān)鍵要素:
1盘榨、HTTP方法(要完成的動作)
2喻粹、URL(要訪問的頁面)
3、表單參數(shù)(如方法參數(shù))
響應流的關(guān)鍵要素:
1草巡、狀態(tài)碼(請求是否成功)
2、內(nèi)容類型(如文件型酥、圖片等)
3山憨、內(nèi)容(具體的文件、圖片等)
HTTP請求常用方法
Web客戶端發(fā)送的請求方法主要有GET和POST兩種方法弥喉。其根本性的區(qū)別在于GET方法幾乎不能傳數(shù)據(jù)給Web服務器端郁竟,并且返回的信息會顯示在URL上(如圖1所示),而POST方法與此相反由境。
GET和POST方法更加直觀的區(qū)別如圖2和圖3所示:
Web 服務器和輔助應用CGI(Common Gateway Interface)
Web 服務器只能向Web 客戶端提供靜態(tài)網(wǎ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版