排隊時延+處理時延+傳輸時延+傳播時延
應用層表示層 資料壓縮、加密以及資料描述
會話層 建議及管理會話
傳輸層 網路層 鏈路層 物理層
應用層 為特定應用程式提供資料傳輸服務 http dns
運輸層 tcp可靠的 報文段 完整性 |udp 無連線 盡最大努力 使用者資料報 及時性
為主機中的程序提供資料傳輸服務
網路層 為主機提供資料傳輸服務
鏈路層 同一鏈路的主機提供資料傳輸服務 迴圈冗餘檢驗crc
物理層 傳輸**上傳輸資料位元流
應用層 運輸層 網際層 網路介面層
tcp 傳輸控制協議(一種面相連線的、可靠的基於位元組流的傳輸層通訊協議)
udp 使用者資料報協議(無需建立連線可以傳送封裝的ip資料報的方法)
ip 網路層協議 (提高網路的可擴充套件性 1、 異構網路的互聯互通 2、 分割頂層底層網路的耦合關係 )
序號:用於對位元組流進行編號
確認號:期望收到的下乙個報文段的序號
資料偏移: 首部的長度
確認ack ack=1 確認號段有效 tcp規定在連線建議後所有傳送的報文段都必須報ack=1
同步syn:用於同步序號,syn=1 ack=0 連線請求報文段 若同意 則ack=1
終止fin :用於釋放連線 fin=1表示此報文段的傳送方資料已傳送完畢
視窗:作為接收方讓傳送方設定其傳送視窗的依據
1、 伺服器處於監聽狀態,等待客戶的連線請求
2、 客戶端向伺服器傳送連線請求報文 syn=1,ack=0,選擇乙個初始序號x
3、 伺服器收到連線請求報文,如果同意,向客戶端傳送確認報文,syn=1ack=1,確認號x+1,序號y
4、 客戶端收到連線確認報文,還要向b發出確認,確認號y+1,序號為x+1
5、 b收到a確認後 連線確立
三次握手的原因
第三次握手是為了防止失效的連線請求到達伺服器,讓伺服器錯誤開啟連線。同時兩次握手,另一方的序列號得不到確認,為了實現可靠的資料傳輸。
1、客戶端傳送連線釋放報文 fin=1
2、當伺服器收到之後發出確認,此時tcp出於半關閉狀態。即伺服器可以向客戶端傳送資料但客戶端不能向伺服器傳送。
3、當伺服器不再需要連線時,傳送連線釋放報文fin=1
4、當客戶端收到後發出確認,進入time-wait狀態(確保最後乙個確認報文能夠到達、最大報文存活時間)
5、伺服器收到確認後釋放連線
tcp 四個演算法進行擁塞控制:慢開始、擁塞避免、快重傳、快恢復
網域名稱解析 --> 發起tcp的3次握手 --> 建立tcp連線後發起http請求 --> 伺服器響應http請求,瀏覽器得到html** --> 瀏覽器解析html**,並請求html**中的資源(如js、css、等) --> 瀏覽器對頁面進行渲染呈現給使用者
1 請求正在處理
2 請求處理完畢
3 請求重定向需要額外操作
4 伺服器無法處理
5 伺服器處理出錯
cookie 是伺服器傳送到使用者瀏覽器並儲存在本地的一小塊資料,它會在瀏覽器之後向同一伺服器再次發起請求時被攜帶上,用於告知服務端兩個請求是否來自同意瀏覽器。
session 儲存在伺服器上的檔案、資料庫或者記憶體中,更加安全,也可儲存在redis這種記憶體型資料庫中
http協議是hyper text transfer protocol(超文字傳輸協議)的縮寫,是用於從全球資訊網(www:world wide web )伺服器傳輸超文字到本地瀏覽器的傳送協議。。
http是乙個基於tcp/ip通訊協議來傳遞資料(html 檔案, 檔案, 查詢結果等)。
https:讓http先和ssl(secure sockets layer)通訊,再由ssl和tcp通訊,即使用了隧道進行通訊
http 有以下安全性問題:
使用明文進行通訊,內容可能會被竊聽;
不驗證通訊方的身份,通訊方的身份有可能遭遇偽裝;
無法證明報文的完整性,報文有可能遭篡改。
http/1.x 實現簡單是以犧牲效能為代價的:
客戶端需要使用多個連線才能實現併發和縮短延遲;
不會壓縮請求和響應首部,從而導致不必要的網路流量;
不支援有效的資源優先順序,致使底層 tcp 連線的利用率低下。
http/2.0的優勢
http/2.0 在客戶端請求乙個資源時,會把相關的資源一起傳送給客戶端,客戶端就不需要再次發起請求了。
http/2.0 要求客戶端和伺服器同時維護和更新乙個包含之前見過的首部字段表,從而避免了重複傳輸。
get和post
get 用於獲取資源,而 post 用於傳輸實體主體。
get 和 post 的請求都能使用額外的引數,但是 get 的引數是以查詢字串出現在 url 中,而 post 的引數儲存在實體主體中。由於http是明文傳輸,只要在網路節點上抓包,就能獲取完整的資料報文。
url長度限制僅僅是某些瀏覽器和伺服器的限制,和http協議本身沒有關係
get和post都是http協議中兩種請求方式,而http協議是基於tcp/ip的應用層協議,無論get和post,用的都是同乙個傳輸層協議,所以在傳輸上沒有區別
與 post 相比,get 更簡單也更快,並且在大部分情況下都能用。
然而,在以下情況中,請使用 post 請求:
無法使用快取檔案(更新伺服器上的檔案或資料庫)
向伺服器傳送大量資料(post 沒有資料量限制)
傳送包含未知字元的使用者輸入時,post 比 get 更穩定也更可靠
計算機網路面試總結
體系結構 計算機網路有7層 5層 4層的協議體系結構,具體怎麼個關係,讓我慢慢說 7層的是osi rm分層 物理層 資料鏈路層 網路層 傳輸層 會話層 表示層 應用層。5層的是實際的網際網路分層結構 也叫開放互聯參考模型 物理層 資料鏈路層 網路層 傳輸層 應用層。4層的是tcp ip分層 網路介面...
計算機網路面試總結
計算機網路面試總結計算機網路中的結構 7層結構 應用層,表示層,會話層,傳輸層 tcp,udp 網路層 ip 資料鏈路層,物理層 5層結構 應用層,傳輸層,網路層,資料鏈路層,物理層 tcp的三次握手 第一次 客戶端向服務端傳送確認報文ack 1,以及syn 1,seq為乙個序列號,傳送到服務端 第...
面試 計算機網路 計算機網路概述
隨著技術的發展,電信網路和有線電視網路都逐漸融入了現代計算機網路的技術,這就產生了 網路融合 的概念。連通性 共享 網際網路的拓撲結構雖然非常複雜,並且在地理上覆蓋了全球,但從其工作方式上看,可以劃分為以下的兩大塊 2 核心部分 由大量網路和連線這些網路的路由器組成。這部分為邊緣部分提供服務 提供連...