前言:
1.在網路中傳遞資訊都是以【二進制】形式存在的,
2.接收方【瀏覽器/服務器】在接收資訊后,要做第一件事就是將【二進制資料】進行編譯為【文字,圖片,視頻,命令】,
3.傳遞資訊資料量往往比較巨大,導致接收方很難在一組連續的二進制中得到對應資料;
比如:瀏覽器發送一個請求: http://192.168.100.2:8080/index.html
這個請求資訊是以二進制形式發送的: 01010101010110101010101101010【Http服務器很難從二進制資料中得到相關資訊】
4、常見的網路協議包:
1)FTP網路協議包
2)Http網路協議包
網路協議包:
1.網路協議包是一組有規律的二進制資料,在這組資料中存在了固定空間,每一個空間專門存放特定資訊,這樣接收方在接收網路協議包之后,就可以到固定空間得到對應資訊,網路協議包出現極大降低了接收方對接收二進制資料的編譯難度,
2、網路協議包格式:【0000(ip地址)0000(埠號)0000(資源檔案名)0000】
3、Http網路協議包:
在基于B/S結構下互聯網通信程序中,所有在網路中傳遞資訊都是保存在Http網路協議包中的,
4、Http網路協議包又分為 Http請求協議包 與 Http回應協議包:
1)Http請求協議包:
在瀏覽器準備發送請求時,負責創建一個Http請求協議包,瀏覽器將請求資訊以二進制形式保存在Http請求協議包的各個空間中,由瀏覽器負責將Http請求協議包推送到指定服務端計算機,
2)Http回應協議包:
Http服務器在定位到被訪問的資源檔案之后,負責創建一個Http回應協議包,Http服務器將定位檔案內容或者檔案命令以二進制形式寫入到Http回應協議包各個空間,由Http服務器負責將Http回應協議包推送回發起請求的瀏覽器上,
Http請求協議包內部空間:
1.按照自上而下劃分,分為4個空間,
2.空間劃分:
請求行:[
url:請求地址(http://192.168.100.2:8080/index.html)
method:請求方式(POST/GET)
]
請求頭:[
請求引數資訊【GET】
]
空白行:[
沒有任何內容,起到隔離作用
]
請求體:[
請求引數資訊【POST】
]
Http回應協議包內部結構:
1.按照自上而下劃分,分為4個空間,
2.空間劃分:
狀態行:[
Http狀態碼
]
回應頭:[
content-type: 指定瀏覽器采用對應編譯器
對回應體二進制資料進行決議
]
空白行:[
沒有任何內容,起到隔離作用
]
回應體:[
可能被訪問靜態資源檔案內容/可能被訪問的靜態資源檔案命令/可能被訪問的動態資源檔案運行結果【都是以二進制形式】
]
第二版互聯網通信流程圖:

轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/437876.html
標籤:Java
上一篇:商城秒殺系統總結(Java)
