gradle配置maven倉庫
阿新 • • 發佈:2021-08-23
1. 網路7層模型
OSI -- Open System Interconnection
背景: 制定的一個用於計算機或通訊系統間互聯的標準體系
2. 網路5層模型
3. http發展歷史
- Http 0.9 -- 只有一個Get方法,沒有head描敘資料資訊
- Http 1.0 -- 新增POST DELETE PUT HEAD 等方法 + header部分 + status code(服務端處理該請求響應的狀態)
- Http 1.1 -- 長連線 + pipeline(可以同時多個請求,但序列處理) + host
- Http 2.0 -- 資料以二進位制傳送,壓縮頭部與伺服器主動推送,同一個連線裡傳送多個請求可以並行處理
4. Http請求原理
- http請求是建立在TCP連線之上的
5. URL
Uniform Resoure Locator -- 同一資源定位符
http://ip:port/path?query=string#hash
- ip -- 伺服器主機IP地址或對應的域名
- Port -- 提供Web服務程式監聽埠
- /path -- 資源路徑 -- restful風格中是名詞 -- 類似檔案系統目錄結構
- ?query=string& -- query string GET方法使用的查詢引數
- hash -- 錨點 -- 瀏覽器視窗定位到頁面的某個區域
6. 報文
- 請求報文
- Method 請求的方法 -- restful語義:
- GET -- 查詢
- POST -- 新增
- PUT -- 修改多個記錄
- PATCH -- 修改單個記錄
- DELETE -- 刪除記錄
- Method 請求的方法 -- restful語義:
- 響應報文
- Http code -- 定義伺服器對請求處理的結果
- Demo
package main import ( "log" "net/http" ) func main() { // 定義路由 http.HandleFunc("/", func(w http.ResponseWriter, r *http.Request) { n, err := w.Write([]byte("ok")) if err != nil { log.Println(err) } log.Println(n) }) // 啟動http服務 err := http.ListenAndServe(":8888", nil) if err != nil { log.Fatalln(err) } }
- ISO -- 國際標準化組織