Cloudflare盤點2023年HTTP發展重點

HTTP協定發展至今已受到廣泛採用,而且仍持續發展,2022年是HTTP/3發布重要的一年, Cloudflare在部落格説明目前現況 ,並盤點接下來2023年的HTTP發展計畫。HTTP工作組在新的一年,已經開始著手討論和開發新的HTTP功能,包括QUERY方法、可恢復上傳(Resumable Uploads)和變體等。

2022年是HTTP/3正式發布的一年,Cloudflare提到,HTTP/3提高網路使用效率,使現代應用程式和網站的需求得以滿足。在HTTP/0.9和HTTP/1.0時代,每一個請求都需要重新使用一個TCP連接,為了緩解這個問題HTTP/1.1加入持久連結功能,但其仍存在隊頭阻塞(HOL Blocking)的侷限。

但是現代網頁頁面動輒數百萬個物件爭奪網路資源,HTTP/1.1也已經無法負荷,因此2015年出現了HTTP/2,雖然HTTP/2在HTTP層解決隊頭阻塞的問題,但是底層TCP仍然存在同樣問題,Cloudflare解釋,問題根本在於HTTP使用TCP這種有序且可靠的傳輸協定,要徹底解決這個問題,最佳解決方案便是取代TCP。

HTTP/3使用QUIC來替代TCP的工作,QUIC在2021年發布,HTTP/3可以説是QUIC的HTTP版本,雖然工作組在2021年完成QUIC的同時,也完成了HTTP/3的規範,但是因為考慮與其他文件發布同步,因此HTTP/3直到2022年才正式發表。

HTTP工作組在2023年將持續完善HTTP規範,添加像是QUERY方法,目的是要規範一個安全的請求方法,並且在請求的同時攜帶請求內容,QUERY就像是Get方法,但主要用途是當請求附帶資料太大,無法編碼到請求的URI時,開發者便可使用QUERY方法。

可恢復上傳也將會是HTTP接下來的重點新功能。由於請求取消和連結中斷,HTTP客户端常會遇到資料傳輸中斷,以可恢復檔案上傳的開源協定TUS為基礎,HTTP工作組將讓HTTP客户端能夠恢復傳輸,從中斷連結之前所交換的部分繼續完成工作。

HTTP還將加入變體,這是一種基於請求標頭,從快取選取HTTP回應的方法。開發者只要使用Variants和Variant-Key回應標頭欄位,就可以主動進行內容協商,對快取更加友善。同時,HTTP引入結構化標頭,希望新的HTTP欄位能使用比傳統HTTP欄位值更具限制性的通用語法。

另外,HTTP社羣也針對新功能進行更多討論,像是提供發布和訂閲功能(Pub/Sub),或是透過標準化規範在WebSockets上的作業,Cloudflare提到,這些Media over QUIC的工作,在2023年可預期會有更多進展。