不管是 C/S 開發仍是 B/S 開發,不管是前端開發仍是後臺開發,網絡老是沒法避免的,數據如何傳輸,如何保證正確性和可靠性,如何提升傳輸效率,如何解決會話管理問題,如何在網絡擁堵環境下采起措施。這些都是須要了解的。css
今天總結下與網絡相關的知識,不是那麼詳細,可是包含了我認爲重要的全部點。若是想深刻了解的能夠參考《圖解HTTP[上野 宣]》、《圖解TCP/IP(第5版)[竹下隆史]》以及計算機網絡相關教材。html
網絡知識我作了 8 個方面的總結,包括DNS協議,HTTP協議,HTTPS協議,TCP協議,IP協議,TCP/IP,Web攻擊,其餘協議。如下對這些內容作一些簡單的總結,同時我也有完整的思惟導圖,博客上不方便展現,如有須要,聯繫我。前端
做用:提供域名到IP地址之間的解析服務。或逆向從IP地址反查域名的服務web
HTTP方法算法
請求報文跨域
報文首部瀏覽器
響應報文緩存
報文首部安全
發送多種數據的多部分對象集合服務器
內容協商
2XX:請求正常處理完畢
3XX:須要進行附加操做以完成請求
4XX:服務器沒法處理請求
5XX:服務器處理請求出錯
緩存
長鏈接
而HTTP/1.1容許在一個TCP鏈接上能夠傳送多個HTTP請求和響應。HTTP/1.1協議的持續鏈接有兩種方式,即非流水線方式和流水線方式。
存取方式的不一樣
隱私策略的不一樣
有效期上的不一樣
服務器壓力的不一樣
瀏覽器支持的不一樣
跨域支持上的不一樣
過程描述
同網段
不一樣網段
路由器包含了交換機的功能,交換機主要的做用是擴展接口
基於表單認證
特色
HTTP鏈接創建後,須要完成一次握手動做
通訊使用明文可能會被竊聽
解決方式
不驗證通訊方身份就可能遭遇假裝
沒法證實報文完整性,可能已遭篡改
慢
握手某個階段中斷,TCP會以相同的順序發送相同的數據包
擁塞窗口
擁塞策略
擁塞控制流程
應用層
傳輸層
網絡層
數據鏈路層