給女朋友講HTTP協議 網路基礎

2021-09-08 13:28:32 字數 1675 閱讀 8373

為了更好的理解http,我們需要花點時間了解一下tcp/ip協議族。

通常使用的網路是在tcp/ip協議族的基礎上運作的。而http屬於它內部的乙個子集。

計算機與網路裝置要相互通訊,雙方就必須基於相同的方法。比如,如何探測到通訊目標、由哪一邊先發起通訊、使用哪種語言進行通訊、怎樣結束通訊等規則都需要事先確定。不同的硬體、作業系統之間的通訊,所有的這一切都需要一種規則。而我們就把這種規則稱為協議(protocol)。

把 tcp/ip 層次化是有好處的。比如,如果網際網路只由乙個協議統籌,某個地方需要改變計時,就必須把所有部分整體替換掉。而分層之後只需把變動的層替換掉即可。把各層之間的介面部分規劃好之後,每個層次內部的設計就能夠自由改動了。值得一提的是,層次化之後,設計也變得相對簡單了。處於應用層上的應用可以只考慮分派給自己的任務,而不需要弄清對方在地球上哪個地方、對方的傳輸路線是怎樣的、是否能確保傳輸送達等問題。

osi七層模型從上往下分別是:

tcp/ip 協議族按層次分別分為以下 4 層:應用層、傳輸層、網路層和資料鏈路層。

傳送端在層與層之間傳輸資料時,每經過一層時必定會被打上乙個該層所屬的首部資訊。反之,接收端在層與層傳輸資料時,每經過一層時會把對應的首部消去。這種把資料資訊包裝起來的做法稱為封裝(encapsulate)。

ip(internet protocol)網際協議位於網路層。internet protocol這個名字有點恐怖哈,不過ip協議的的確確是很重要的。

ip 協議的作用是把各種資料報傳送給對方。而要保證確實傳送到對方那裡,則需要滿足各類條件。其中兩個重要的條件是 ip 位址和 mac位址(media access control address)。ip 位址指明了節點被分配到的位址,mac 位址是指網絡卡所屬的固定位址。ip 位址可以和 mac 位址進行配對。ip 位址可變換,但 mac位址基本上不會更改。

tcp 位於傳輸層,提供可靠的位元組流服務。

所謂的位元組流服務(byte stream service)是指,為了方便傳輸,將大塊資料分割成以報文段(segment)為單位的資料報進行管理。而可靠的傳輸服務是指,能夠把資料準確可靠地傳給對方。一言以蔽之,tcp 協議為了更容易傳送大資料才把資料分割,而且 tcp 協議能夠確認資料最終是否送達到對方。

為了準確無誤地將資料送達目標處,tcp 協議採用了三次握手(three-way handshaking)策略。用 tcp 協議把資料報送出去後,tcp不會對傳送後的情況置之不理,它一定會向對方確認是否成功送達。握手過程中使用了 tcp 的標誌(flag) —— syn(synchronize) 和ack(acknowledgement)。傳送端首先傳送乙個帶 syn 標誌的資料報給對方。接收端收到後,回傳乙個帶有 syn/ack 標誌的資料報以示傳達確認資訊。最後,傳送端再回傳乙個帶 ack 標誌的資料報,代表「握手」結束。若在握手過程中某個階段莫名中斷,tcp 協議會再次以相同的順序傳送相同的資料報。斷開的時候則是採用四次揮手。

dns(domain name system)服務是和 http 協議一樣位於應用層的協議。它提供網域名稱到 ip 位址之間的解析服務。

使用者通常使用主機名或網域名稱來訪問對方的計算機,而不是直接通過 ip位址訪問。因為與 ip 位址的一組純數字相比,用字母配合數字的表示形式來指定計算機名更符合人類的記憶習慣。但要讓計算機去理解名稱,相對而言就變得困難了。因為計算機更擅長處理一長串數字。為了解決上述的問題,dns 服務應運而生。dns 協議提供通過網域名稱查詢 ip 位址,或逆向從 ip 位址反查網域名稱的服務。

如何優雅的給女朋友講執行緒池

拿餐廳吃飯舉例多好。吃飯人數 任務 餐位 執行緒 人不多,餐位夠用。人稍微多點,排隊。人有點多,盡可能增加餐位。人太多,要麼告知排叄小時隊伍要麼婉拒。先看一下threadpoolexecutor類的execute方法 public void execute runnable command 執行緒池...

通俗易懂地給女朋友講 執行緒池的內部原理

餐盤在燈光的照耀下格外晶瑩潔白,女朋友拿起紅酒杯輕輕地抿了一小口,對我說 經常聽你說執行緒池,到底執行緒池到底是個什麼原理?我楞了一下,心裡想女朋友今天是怎麼了,怎麼突然問出這麼專業的問題,但做為乙個專業人士在女朋友面前也不能露怯啊,想了一下便說 我先給你講講我前同事老王的故事吧!老王是乙個已經北漂...

http協議與網路基礎

http協議與網路基礎 複習 http協議與網路基礎 網路訪問過程 1.拿到瀏覽器的ip之後,和對應的伺服器建立tcp連線 2.瀏覽器傳輸的內容通過http傳送給伺服器,這個時候的這個http就毀掉了 3.伺服器得到請求之後進行解析,將解析的結果通過http走tcp返回到伺服器去,4.瀏覽器接到訊息...