什么是互聯網通信
兩臺計算機通過網路實作檔案共享行為,就是【互聯網通信】
互聯網通信程序角色劃分
客戶端計算機:用于發送請求,來索要資源檔案的計算機
服務端計算機:用于接收請求,并提供對應的資源檔案計算機
互聯網通信模型
1.C/S通信模型:
C,client software;客戶端軟體
1)客戶端軟體專門安裝在客戶端計算機上
2)幫助客戶端計算機向指定服務端計算機發送請求,索要資源檔案
3)幫助客戶端計算機將服務端計算機發送回來【二進制資料】決議
為【文字,數字,圖片,視頻,命令】
S,server software;服務器軟體
1)服務器軟體專門安裝在服務端計算機上
2)服務器軟體用于接收來自于特定的客戶端軟體發送請求
3)服務器軟體在接收到請求之后自動的在服務端計算機上定位被訪問的資源檔案
4)服務器軟體自動的將定位的檔案內容決議為【二進制資料】通過網路發送回
發起請求的客戶端軟體上
適用場景:C/S通信模型普遍用于個人娛樂市場,比如【微信,淘寶/京東,視頻(優酷/B站),大型網路游戲(魔獸/英雄聯盟)】
企業辦公領域相對應用較少
優缺點:
優點:
1.安全性較高
2.有效降低服務端計算機作業壓力
缺點:
1.增加客戶獲得服務的成本
2.更新較為繁瑣
2.B/S通信模型:
B:browser,瀏覽器
1)瀏覽器安裝在客戶端計算機軟體
2)可以向任意服務器發送請求,索要資源檔案
3)可以將服務器回傳的【二進制資料】決議為
【文字,數字,圖片,視頻,命令】
S: server software 服務器軟體
1)服務器軟體專門安裝在服務端計算機上
2)可以接收任意瀏覽器發送請求
3)自動的在服務端計算機上定位被訪問的資源檔案
4)自動的將定位的資源檔案內容以二進制形式發送回發起請求瀏覽器上
適用場景: 既適用于個人娛樂市場,又廣泛適用于企業日常活動
優缺點:
優點:
1.不會增加用戶獲得服務的成本
2.幾乎不需要更新瀏覽器
缺點:
1.幾乎無法有效對服務端計算機資源檔案進行保護
2.服務端計算機作業壓力例外巨大----->【B/S通信下高并發解決方案】
共享資源檔案
1.什么是共享資源檔案:
可以通過網路進行傳輸的檔案,都被稱為共享資源檔案
所有的檔案內容都可以通過網路傳輸,所有檔案都是共享資源檔案
2.Http服務器下對于共享資源檔案分類
靜態資源檔案
動態資源檔案
3.靜態資源檔案:
1) 如果檔案內容是固定,這種檔案可以被稱為【靜態資源檔案】
(檔案,圖片,視頻)
2) 如果檔案存放不是內容而是命令,這些命令只能在瀏覽器編譯與執行
這種檔案可以被稱為【靜態資源檔案】
(.html,.css,.js)
4.動態資源檔案:
如果檔案存放命令,并且命令不能在瀏覽器編譯與執行;只能在服務端
計算機編譯執行,這樣的檔案可以被稱為【動態資源檔案】
(.class)
5.靜態資源檔案與動態資源檔案呼叫區別
靜態檔案被索要時,Http服務器直接通過【輸出流】將靜態檔案中內容或則命令
以【二進制形式】推送給發起請求瀏覽器
動態檔案被索要時,Http服務器需要創建當前class檔案的實體物件,通過實體物件
呼叫對應的方法處理用戶請求,通過【輸出流】將運行結果以【二進制形式】推送
給發起請求瀏覽器
class Student{
public int add(int num1,int num2){
int sum = num1 + num2;
return sum;
}
}
Http服務器(自動)
Student stu = new Student();
int 結果 = stu.add(10,20);
out.print(結果)
開發人員在互聯網通信流程擔負職責:
1.控制瀏覽器行為
2.開發動態資源檔案來解決用戶請求

Http網路協議包
網路協議包
1.在網路中傳遞資訊都是以【二進制】形式存在的,
2.接收方【瀏覽器/服務器】在接收資訊后,要做第一件事
就是將【二進制資料】進行編譯【文字,圖片,視頻,命令】
3.傳遞資訊資料量往往比較巨大,導致接收方很難在一組連續
二進制得到對應資料
比如 瀏覽器發送一個請求: http://192.168.100.2:8080/index.html
這個請求資訊以二進制形式發送 01010101010110101010101101010
Http服務器很難從二進制資料得到相關資訊
4.網路協議包一組有規律二進制資料,在這組資料存在了固定空間
每一個空間專門存放特定資訊,這樣接收方在接收網路協議包之后
就可以到固定空間得到對應資訊,網路協議包出現極大降低了
接收方對接收二進制資料編譯難度
【0000(ip地址)0000(埠號)0000(資源檔案名)0000】
常見網路協議
1.FTP網路協議包
2.Http網路協議包
Http網路協議包
在基于B/S結構下互聯網通信程序中,所有在網路中傳遞資訊都是
保存在Http網路協議包
分類:
Http請求協議包
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: 指定瀏覽器采用對應編譯器
對回應體二進制資料進行決議
]
空白行:[
沒有任何內容,起到隔離作用
]
回應體:[
可能被訪問靜態資源檔案內容
可能被訪問的靜態資源檔案命令
可能被訪問的動態資源檔案運行結果
*****都是以二進制形式***
]
Tomcat服務器創建網站
Tomcat獲取地址:http://tomcat.apache.org/
下載后解壓直接可以使用

配置環境變數
CATALINA_HOME:apache-tomcat-9.0.30
JAVA_HOME:jdk1.8.0_101


在webapps目錄下創建自己的目錄

檢測是否能打開
在apache-tomcat-9.0.30的bin目錄下運行cmd
分別輸入startup和shutdown命令

以上表示打開成功
關閉后如果沒有報例外,重新再關閉一次
使用瀏覽器訪問Tomcat服務器

idea中配置Tomcat
新建一個module


在web目錄下插入圖片

在project structure中配置Tomcat

在run目錄下創建一個開關,并在deployment中發布網站

使用debug啟動服務器

在彈出的瀏覽器中訪問回應的圖片
以上實作了瀏覽器訪問Tomcat服務器的一個程序
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/95910.html
標籤:其他
