一姨蟋、http1倦挂、http2、http3的區(qū)別
1州藕、http1
1)持久連接:一個TCP連接可以傳輸多個(6個)http請求,默認持久連接
2)不成熟的管線化:等一個請求回來再去發(fā)另外一個請求
3)安全機制差
2榨馁、http2
1)基于SPDY協(xié)議憨栽,專注于性能,目標是一個用戶和網(wǎng)站只需要進行一次連接
2)二進制傳輸:將請求和響應分為小的幀翼虫,采用二進制編碼屑柔,以前的headbopdy變成幀數(shù)據(jù)
3)頭部head壓縮:只發(fā)送有差異的數(shù)據(jù)
4)多路復用:只要建立一個TCP/IP[連接,多路并行蛙讥,發(fā)送響應都在同一個連接進行
5)服務端推送 server push
6)提供安全性 https
3锯蛀、http3
1)基于QUIL的UDP,取了TCP和TLS加密的精華
2)提供安全性 https:非對稱加密,公鑰和私鑰次慢∨缘樱客戶端 服務端
4、總結(jié)
HTTP/1.1有兩個主要的缺點:安全不足和性能不高迫像。HTTP/2完全兼容HTTP/1劈愚,是“更安全的HTTP、更快的HTTPS"闻妓,頭部壓縮菌羽、多路復用等技術可以充分利用帶寬,降低延遲由缆,從而大幅度提高上網(wǎng)體驗注祖;QUIC 基于 UDP 實現(xiàn),是 HTTP/3 中的底層支撐協(xié)議均唉,該協(xié)議基于 UDP是晨,又取了 TCP 中的精華,實現(xiàn)了即快又可靠的協(xié)議舔箭。
1
1、支持客戶/服務器模式层扶。
2.簡單快速:客戶向服務器請求服務時箫章,只需傳送請求方法和路徑。請求方法常用的有GET镜会、HEAD檬寂、POST。每種方法規(guī)定了客戶與服務器聯(lián)系的類型不同戳表。由于HTTP協(xié)議簡單桶至,使得HTTP服務器的程序規(guī)模小拿诸,因而通信速度很快。
3.靈活:HTTP允許傳輸任意類型的數(shù)據(jù)對象塞茅。正在傳輸?shù)念愋陀蒀ontent-Type加以標記。
4.無連接:無連接的含義是限制每次連接只處理一個請求季率。服務器處理完客戶的請求野瘦,并收到客戶的應答后,即斷開連接飒泻。采用這種方式可以節(jié)省傳輸時間鞭光。
5.無狀態(tài):HTTP協(xié)議是無狀態(tài)協(xié)議。無狀態(tài)是指協(xié)議對于事務處理沒有記憶能力泞遗。缺少狀態(tài)意味著如果后續(xù)處理需要前面的信息惰许,則它必須重傳,這樣可能導致每次連接傳送的數(shù)據(jù)量增大史辙。另一方面汹买,在服務器不需要先前信息時它的應答就較快。
HTTP使用統(tǒng)一資源標識符(Uniform Resource Identifiers, URI)來傳輸數(shù)據(jù)和建立連接晦毙。URL是一種特殊類型的URI,包含了用于查找某個資源的足夠的信息
URL,全稱是UniformResourceLocator, 中文叫統(tǒng)一資源定位符,是互聯(lián)網(wǎng)上用來標識某一處資源的地址耙蔑。以下面這個URL為例见妒,介紹下普通URL的各部分組成:
http://www.baidu.com:8080/news/index.asp?boardID=5&ID=24618&page=1#name
從上面的URL可以看出,一個完整的URL包括以下幾部分: 1.協(xié)議部分:該URL的協(xié)議部分為“http:”甸陌,這代表網(wǎng)頁使用的是HTTP協(xié)議须揣。在Internet中可以使用多種協(xié)議,如HTTP钱豁,F(xiàn)TP等等本例中使用的是HTTP協(xié)議耻卡。在”HTTP”后面的“//”為分隔符
2.域名部分:該URL的域名部分為“www.baidu.com”。一個URL中寥院,也可以使用IP地址作為域名使用
3.端口部分:跟在域名后面的是端口劲赠,域名和端口之間使用“:”作為分隔符。端口不是一個URL必須的部分秸谢,如果省略端口部分凛澎,將采用默認端口
4.虛擬目錄部分:從域名后的第一個“/”開始到最后一個“/”為止,是虛擬目錄部分估蹄。虛擬目錄也不是一個URL必須的部分塑煎。本例中的虛擬目錄是“/news/”
5.文件名部分:從域名后的最后一個“/”開始到“?”為止臭蚁,是文件名部分最铁,如果沒有“?”,則是從域名后的最后一個“/”開始到“#”為止讯赏,是文件部分,如果沒有“冷尉?”和“#”漱挎,那么從域名后的最后一個“/”開始到結(jié)束,都是文件名部分雀哨。本例中的文件名是“index.asp”磕谅。文件名部分也不是一個URL必須的部分,如果省略該部分雾棺,則使用默認的文件名
6.錨部分:從“#”開始到最后膊夹,都是錨部分。本例中的錨部分是“name”捌浩。錨部分也不是一個URL必須的部分
7.參數(shù)部分:從“放刨?”開始到“#”為止之間的部分為參數(shù)部分,又稱搜索部分尸饺、查詢部分进统。本例中的參數(shù)部分為“boardID=5&ID=24618&page=1”。參數(shù)可以允許有多個參數(shù)浪听,參數(shù)與參數(shù)之間用“&”作為分隔符麻昼。
接口測試一般是使用接口測試工具進行測試的馋辈,主要使用的接口測試工具有:apipost抚芦、jmeter等
打開接口測試工具apipost,選擇請求方法迈螟,輸入url地址和參數(shù)叉抡,點擊發(fā)生就可以對接口進行測試了。