協議是多人經過協商,最後達成一致的合約。html
HTTP協議是客戶端與服務器之間通訊時所共同遵循一個合約。shell
HTTP協議是雙方的:它定義了客戶端如何請求服務器資源,服務器如何響應客戶端請求。緩存
<!-- lang: shell --> GET /index.html HTTP/1.1 Host:www.baidu.com #GET:請求資源的方法 #/index.html:資源位置 #HTTP/1.1:請求資源的協議/版本 #Host:資源所在的服務器
<!-- lang: shell --> HTTP/1.1 200 OK Content-type:text/html Hello,World! #HTTP/1.1:響應資源的協議/版本 #200:狀態碼,表示資源狀態 #OK:狀態描述值 #Content-type:文本格式 #CRLF(換行符+回車符) #Hello,World!:響應主體
HTTP協議是構建在TCP/IP協議之上的,一次完整的HTTP通訊會打開一次TCP鏈接。 因此深刻理解HTTP協議,必須對TCP/IP協議有必定的瞭解。服務器
在現實的網絡世界中,代理無處不在,對於客戶端來講,代理就是服務端,對於最終的服務端來講,代理又是客戶端。 代理的身份能夠是雙重的,因此在不少方面,代理做用很大:網絡
對於一些服務器資源,服務端並不但願客戶端在重複請求時,每次都返回資源。這樣當資源文件足夠大、請求足夠多時,服務器的壓力會很大。 HTTP協議在緩存這一塊有一個比較合理的交互規則:代理