如何深入地學習《HTTP權威指南》這本書?
有哪些方便的工具可以用來深入理解枯燥的概念,例如緩存、代理、HTTPS、摘要認證等
一般權威指南讀得會很痛苦,比如《Git權威指南》,因為涉及的內容太多,太關注細節了,新手反而發矇。
推薦《圖解HTTP》,250頁的小書,幾天就看完,還帶可愛的漫畫,特別輕鬆就可以了解http的報文,狀態碼,網路層級等概念,等有了這些基礎,再去實踐和看權威指南,會容易得多。
有時候作者覺得很明顯的事情,讀者往往不是那個感覺。
更新 2017/3/15: 最近在看 HTTP: the Definitive Guide, 英文版相當好懂,建議中文讀起來感覺很痛苦的同學,可以試試看英文版,技術類書籍,翻譯過後理解難度很可能不是減少,而是增加。另外 rfc 文件也很重要,這本書里的內容是有些過時,比如 rfc2616,最新版是 rfc7230-7237,但是基本的東西確實還是書里提到的那些。
有人一直說這本書是http聖經,我認為不妥。
我花了幾個月的時間,讀了它幾遍。並且同時參照 Node.js http 實現,自己寫驗證代碼,通過Google 的幫助等等,然後發現這本書需要真去啃,因為讀者需要理解HTTP的本質複雜度,並且避免被作者引入的非本質複雜度的干擾。然而我沒有辦法說花費這個時間是不值得的,因為我已經具備了這個知識無法裝作沒有知識是怎麼地了。這就是所謂的知識的詛咒吧。
外部的看,這本書有些地方必定會引入非本質複雜度:
1. 合著的書,作者達,,,5人
2. 出來的很早 ,2002年第一版本成書,嗯http 1.1 應該是1999年成稿,那會兒HTTP1.1還缺乏歷練,以及多種場景的考驗所以內容上可以看到:
1. 羅列常常缺乏重點。比如第十一章 客戶端識別,既然cookie是最有效的 ,何不第一個講。那些胖URL客戶端IP什麼的,用的人極少,不應該擺在前面。best first 最好。20多頁的東西啊。
2. 缺乏層次分離。比如第四章 連接管理底層的TCP連接即使不講,是一定可以講清楚HTTP的連接優化機制的,講了TCP連接實際上能做的就是調整參數,但是那些參數又是久經考驗的,不建議改。這個。。。。
3. 缺少代碼驗證,導致文字模糊難以澄清,比如4.5 keep alive,以及第八章 集成點
4. 概念提出太早。概念是一本書的骨架,但是骨頭得包起來,包到肉里,不然太難嚼。比如第一章概念登場,卻缺乏案例和場景的支撐。
最近在看pro git ,它甚至號稱學習git命令必須得首先了解它的實現,這就有點邪氣了。然後我也就真的按他的說法來,發現確實無需了解實現就理解和學習命令的。於是,我發現這樣的類似的層次分離問題,其實是比較常見的問題,所以不能太過求全,畢竟早年間的東西,出來的快,市場需要,再加上IT作家通常都並不擅長寫作。想要學就得啃。晚近一點的,就會好很多。
開始我提到了聖經,巧的是我也讀過聖經,從難以閱讀的角度,也可以說是聖經。我收回我的話:)。讀這本書的話,記得避開就好了。看不懂就寫代碼,還有Google大兄弟的嘛。
利益相關:我盡量客觀,但是我是利益相關的。看我的主頁就知道。我也看過這本書,怎麼來說呢,對於前端開發理解前後端交互確實能帶來諸多益處的,但是書這個東西嘛,並不是說你看完一本書就無敵了,而是應該集思廣益,這樣你才能多方面提升自己,因為每一本書他的著重點不同,所以所論述的問題也不一樣,多看看才全面。 最後附上自己對《http權威指南》概念性提煉總結: 我自己提煉的關於《HTTP權威指南》每章的知識點總結! 希望能幫助你
看到書里模糊的概念,多使用搜索引擎以及多驗證。
比如第三章狀態碼這一塊,302、303、307的區別,408的請求超時會在什麼時候發生,502、504的區別呢?
書里描述的有點模糊,那麼你就需要通過搜索引擎或者直接去看RFC文檔,然後自己動手去驗證。
如果你在Linux或者Mac下面,你想學習HTTP權威指南,那麼你可以使用sudo nc -kl 進行手動編寫HTTP報文。https://developer.mozilla.org/zh-CN/docs/Web/HTTP
推薦一個HTTP文檔,裡面包含了HTTP的大部分內容,並且時效性能得到保證,配合《HTTP權威指南》看或者單獨查閱效果都非常好~
帶著問題讀,還是很爽的。配合著Google,醍醐灌頂的感覺。
這本書我看了200頁,我更推薦圖解http這本,大部頭看起來對毅力是考驗
推薦閱讀:
※如何實現200 from cache?
※「 http:// 」 中為何有兩根斜杠?
※精神力量有多强大?
※合併 HTTP 請求是否真的有意義?
※國內有哪些互聯網公司已經開始使用 HTTP/2 了?
TAG:計算機網路 | 高效學習 | HTTP | HTTP權威指南書籍 |