Visual Studio 2019:建立靜態庫
HTTP協議
1 HTTP協議的定義
HTTP協議是超文字傳輸協議 用來規定服務端和瀏覽器之間的資料互動的格式...(BS架構)
即要想使用BS架構就必須遵守HTTP協議
`
客戶端服務端也可以不使用該協議, 但是該服務端就不能被瀏覽器正常訪問,
即無法使用BS架構,只能使用其他CS架構 ,自己製造客戶端
2 HTTP協議的四大特性
2.1 基於請求響應
對請求作出相應
2.2 基於TCP/IP作用於應用層之上的協議
該協議是在應用層之上的協議
又是基於網路通訊的,即基於TCP/IP
2.3 無狀態
不儲存使用者的資訊
由於HTTP協議是無狀態的 所以後續出現了一些專門用來記錄使用者狀態的技術
cookie、session、token...
2.4 無/短連結
請求來一次就響應一次 之後服務端與瀏覽器客戶端就沒有任何連結以及關係了
長連結: 雙方建立連線之後預設不斷開 (使用websocket)
3 協議規定
3.1 請求資料格式
由四個部分組成:
請求首行,請求頭,空白行,請求體
請求首行(標識HTTP協議版本,當前請求方式 get 與post )
請求頭(一大堆k,v鍵值對)
\r\n
請求體(並不是所有的請求方式都有get沒有post有 存放的是post請求提交的敏感資料)
3.1.1 請求方式
1.get請求
朝服務端要資料
eg:輸入網址獲取對應的內容
2.post請求
朝服務端提交資料
eg:使用者登陸 輸入使用者名稱和密碼之後 提交到服務端後端做身份校驗
3.2 響應資料格式
由四個部分組成:
響應首行,響應頭,空白行,響應體
響應首行(標識HTTP協議版本,響應狀態碼)
響應頭(一大堆k,v鍵值對)
\r\n
響應體(返回給瀏覽器展示給使用者看的資料)
3.2.1 響應狀態碼
用一串簡單的數字來表示一些複雜的狀態或者描述性資訊
例如 : 404表示請求資源不存在
1XX:服務端已經成功接收到了你的資料正在處理,你可以繼續提交額外的資料
2XX:服務端成功響應了你想要的資料(200 OK請求成功)
3XX:重定向(當你在訪問一個需要登陸之後才能看的頁面 你會發現會自動跳轉到登陸頁面)
4XX:請求錯誤
404:請求資源不存在
403:當前請求不合法或者不符合訪問資源的條件
5XX:伺服器內部錯誤(500: 伺服器故障)
3.3 url:統一資源定位符
url(Uniform Resource Locators)就是網址
例如https://www.cnblogs.com/achai222/p/12404276.html,用來定位資源在伺服器的位置