HTTP 可以說是互聯(lián)網(wǎng)的基石,我們?yōu)g覽的網(wǎng)頁、刷的視頻、玩的游戲,都離不開 HTTP 協(xié)議,而且熱門的 Nginx、Apache、gRPC 等服務(wù)背后的技術(shù)也是由 HTTP 協(xié)議支撐的,可以說 HTTP 既常見又重要。
就前段時間,我和一位面試官交流心得,他說面試一年多,每當(dāng)問起候選人對 HTTP 的理解,卻經(jīng)常出現(xiàn)這樣的情形:
面試官:請問你了解 HTTP 協(xié)議嗎?
前端開發(fā):這不是應(yīng)該后端清楚的嗎?
后端開發(fā):這不應(yīng)該是前端知道的嗎?
面試官:......

其實無論是前端還是后端,都需要了解 HTTP。前端接觸較多的是在其上層的 HTTP 協(xié)議,包括承載請求的 HTTP 和 HTTPS 協(xié)議,而隨著前端路由的控制越來越多,深刻理解 HTTP 的 Header、Body 等屬性是很有好處的。
學(xué)好了 HTTP 對于 Web 開發(fā)和性能優(yōu)化等都有用處。比如頁面資源的緩存策略,如果對 HTTP 協(xié)議不夠了解,就沒法進(jìn)行方案的制定或者優(yōu)化。頁面資源加載速度的優(yōu)化,也同樣離不開對 HTTP/2 的了解。
就這么說吧,如果你不懂 HTTP 協(xié)議,就相當(dāng)于是個只有“半桶水”的程序員。
話雖如此,不少人覺得:“HTTP 協(xié)議好簡單的啦,還用系統(tǒng)學(xué)嗎?” “HTTP 不就是請求 / 響應(yīng)、GET/POST、Header/Body 嗎?網(wǎng)絡(luò)上的資料一抓一大把,有什么問題搜一下就是了?!?/span>
但事實是,就因為 HTTP 太常見、太普遍了,很多工作 7、8 年的老手,也未必搞得清楚,當(dāng)年我也是在工作上踩了大坑,所以才下定決心“死磕” HTTP。
資料看了一大堆,真正有體系的卻不多,羅劍鋒的《透視HTTP 協(xié)議》專欄,算是一個,給我啟發(fā)很大,先分享一份他總結(jié)的「HTTP 知識圖譜」,把零散的概念系統(tǒng)地整理在一起,建議收藏:

最近我又在 2 刷《透視HTTP 協(xié)議》,毫不夸張的說,是我見過含金量最高的 HTTP 學(xué)習(xí)資料,兼具廣度和深度,真正做到了“透視”,能讓你深刻了解 HTTP 的底層運(yùn)行機(jī)制、工作原理,講得明白又系統(tǒng)。
由于 HTTP 應(yīng)用得非常廣泛,幾乎涉及到所有的領(lǐng)域。所以羅劍鋒的內(nèi)容不只講協(xié)議本身,與它相關(guān)的 TCP/IP、DNS、SSL/TLS、Web Server 等都會講到,而且會把它們打通串聯(lián)在一起,形成知識鏈,讓你知道它們之間是怎么聯(lián)系、怎么運(yùn)行的。
這課是我迄今為止,花最少的時間,用最少的精力,掌握了最多、最全面、最系統(tǒng)的知識。這是多少錢,都買不到的。今天新人半價 ¥59.9,推薦給你,千萬別錯過