一、http1api
1)持久鏈接:一個TCP鏈接能夠傳輸多個(6個)http請求,默認持久鏈接安全
2)不成熟的管線化:等一個請求回來再去發另一個請求服務器
3)安全機制差工具
二、http2post
1)基於SPDY協議,專一於性能,目標是一個用戶和網站只須要進行一次鏈接性能
2)二進制傳輸:將請求和響應分爲小的幀,採用二進制編碼,之前的headbopdy變成幀數據測試
3)頭部head壓縮:只發送有差別的數據網站
4)多路複用:只要創建一個TCP/IP[鏈接,多路並行,發送響應都在同一個鏈接進行編碼
5)服務端推送 server push加密
6)提供安全性 https
三、http3
1)基於QUIL的UDP,取了TCP和TLS加密的精華
2)提供安全性 https:非對稱加密,公鑰和私鑰。客戶端 服務端
四、總結
HTTP/1.1有兩個主要的缺點:安全不足和性能不高。HTTP/2徹底兼容HTTP/1,是「更安全的HTTP、更快的HTTPS",頭部壓縮、多路複用等技術能夠充分利用帶寬,下降延遲,從而大幅度提升上網體驗;QUIC 基於 UDP 實現,是 HTTP/3 中的底層支撐協議,該協議基於 UDP,又取了 TCP 中的精華,實現了即快又可靠的協議。
一、支持客戶/服務器模式。
2.簡單快速:客戶向服務器請求服務時,只需傳送請求方法和路徑。請求方法經常使用的有GET、HEAD、POST。每種方法規定了客戶與服務器聯繫的類型不一樣。因爲HTTP協議簡單,使得HTTP服務器的程序規模小,於是通訊速度很快。
3.靈活:HTTP容許傳輸任意類型的數據對象。正在傳輸的類型由Content-Type加以標記。
4.無鏈接:無鏈接的含義是限制每次鏈接只處理一個請求。服務器處理完客戶的請求,並收到客戶的應答後,即斷開鏈接。採用這種方式能夠節省傳輸時間。
5.無狀態:HTTP協議是無狀態協議。無狀態是指協議對於事務處理沒有記憶能力。缺乏狀態意味着若是後續處理須要前面的信息,則它必須重傳,這樣可能致使每次鏈接傳送的數據量增大。另外一方面,在服務器不須要先前信息時它的應答就較快。
HTTP使用統一資源標識符(Uniform Resource Identifiers, URI)來傳輸數據和創建鏈接。URL是一種特殊類型的URI,包含了用於查找某個資源的足夠的信息
URL,全稱是UniformResourceLocator, 中文叫統一資源定位符,是互聯網上用來標識某一處資源的地址。如下面這個URL爲例,介紹下普通URL的各部分組成:
http://www.baidu.com:8080/news/index.asp?boardID=5&ID=24618&page=1#name
從上面的URL能夠看出,一個完整的URL包括如下幾部分: 1.協議部分:該URL的協議部分爲「http:」,這表明網頁使用的是HTTP協議。在Internet中可使用多種協議,如HTTP,FTP等等本例中使用的是HTTP協議。在」HTTP」後面的「//」爲分隔符
2.域名部分:該URL的域名部分爲「www.baidu.com」。一個URL中,也可使用IP地址做爲域名使用
3.端口部分:跟在域名後面的是端口,域名和端口之間使用「:」做爲分隔符。端口不是一個URL必須的部分,若是省略端口部分,將採用默認端口
4.虛擬目錄部分:從域名後的第一個「/」開始到最後一個「/」爲止,是虛擬目錄部分。虛擬目錄也不是一個URL必須的部分。本例中的虛擬目錄是「/news/」
5.文件名部分:從域名後的最後一個「/」開始到「?」爲止,是文件名部分,若是沒有「?」,則是從域名後的最後一個「/」開始到「#」爲止,是文件部分,若是沒有「?」和「#」,那麼從域名後的最後一個「/」開始到結束,都是文件名部分。本例中的文件名是「index.asp」。文件名部分也不是一個URL必須的部分,若是省略該部分,則使用默認的文件名
6.錨部分:從「#」開始到最後,都是錨部分。本例中的錨部分是「name」。錨部分也不是一個URL必須的部分
7.參數部分:從「?」開始到「#」爲止之間的部分爲參數部分,又稱搜索部分、查詢部分。本例中的參數部分爲「boardID=5&ID=24618&page=1」。參數能夠容許有多個參數,參數與參數之間用「&」做爲分隔符。
接口測試通常是使用接口測試工具進行測試的,主要使用的接口測試工具備:apipost、jmeter等
打開接口測試工具apipost,選擇請求方法,輸入url地址和參數,點擊發生就能夠對接口進行測試了。