##一、http1、http2、http3的區別
1、http1
1)持久連接:一個TCP連接可以傳輸多個(6個)http請求,默認持久連接
2)不成熟的管線化:等一個請求回來再去發另外一個請求
3)安全機制差
2、http2
1)基于SPDY協議,專注于性能,目標是一個用戶和網站只需要進行一次連接
2)二進制傳輸:將請求和回應分為小的幀,采用二進制編碼,以前的headbopdy變成幀資料
3)頭部head壓縮:只發送有差異的資料
4)多路復用:只要建立一個TCP/IP[連接,多路并行,發送回應都在同一個連接進行
5)服務端推送 server push
6)提供安全性 https
3、http3
1)基于QUIL的UDP,取了TCP和TLS加密的精華
2)提供安全性 https:非對稱加密,公鑰和私鑰,客戶端 服務端
4、總結
HTTP/1.1有兩個主要的缺點:安全不足和性能不高,HTTP/2完全兼容HTTP/1,是“更安全的HTTP、更快的HTTPS",頭部壓縮、多路復用等技術可以充分利用帶寬,降低延遲,從而大幅度提高上網體驗;QUIC 基于 UDP 實作,是 HTTP/3 中的底層支撐協議,該協議基于 UDP,又取了 TCP 中的精華,實作了即快又可靠的協議,
##二、HTTP協議的主要特點
1、支持客戶/服務器模式,
2.簡單快速:客戶向服務器請求服務時,只需傳送請求方法和路徑,請求方法常用的有GET、HEAD、POST,每種方法規定了客戶與服務器聯系的型別不同,由于HTTP協議簡單,使得HTTP服務器的程式規模小,因而通信速度很快,
3.靈活:HTTP允許傳輸任意型別的資料物件,正在傳輸的型別由Content-Type加以標記,
4.無連接:無連接的含義是限制每次連接只處理一個請求,服務器處理完客戶的請求,并收到客戶的應答后,即斷開連接,采用這種方式可以節省傳輸時間,
5.無狀態:HTTP協議是無狀態協議,無狀態是指協議對于事務處理沒有記憶能力,缺少狀態意味著如果后續處理需要前面的資訊,則它必須重傳,這樣可能導致每次連接傳送的資料量增大,另一方面,在服務器不需要先前資訊時它的應答就較快,
##三、URL詳解
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”,引數可以允許有多個引數,引數與引數之間用“&”作為分隔符,
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/245070.html
標籤:其他
上一篇:記一次基于DOM型別的XSS注入
