tcp/ip和http的區別和聯絡
中秋節到了,上海的老王想給北京的好友老張快遞一些節日禮物,有鮮肉月餅、大閘蟹等,老王選擇了機器人快遞公司,聽說送快遞的全是機器人。
老王把禮物打好包並轉交給快遞公司,並叮囑快遞公司,要鮮肉月餅先到,大閘蟹後到,快遞公司說:okay,放心好了。
快遞公司將鮮肉月餅貼上標籤1,大閘蟹標籤2,放在倉庫裡,先聯絡到北京的老張再發貨。
於是快遞公司派出機器人小哥,給小哥輸入老張、老王的地址資訊:
收件人地址
北京海淀區知春路xx號
寄件人地址
上海浦東新區世紀大道200號
機器人用導航軟體智慧選取路線,過程不表。
聯絡老張的過程(三次握手):
機器人A到達北京快遞公司,快遞公司看到老張的地址資訊,去他家敲敲門,老張你在家嗎?等會有快遞要送過來,務必在家哦(伺服器TCP埠號活),老張說好的好的。
北京的快遞公司派出機器人B回覆上海方面,老張在家的,快遞可以運過來了。
上海的快遞公司派出機器人A回覆北京,快遞馬上就發出,請稍候。
有同學說,需要那麼麻煩嘛?打個電話不就行了嗎?沒錯,但這只是一個虛擬故事,在這個故事裡沒有電話,只有跑腿的機器人。
以上聯絡老張的過程,機器人A、B都是空載,什麼貨物也沒有運,只是起到訊息傳遞的作用,接下來開始運送貨物了。
上海的快遞公司讓機器人C運鮮肉月餅,機器人D運大閘蟹,於是C、D先後上路了。
C的導航軟體讓他走滬陝高速,結果堵成狗了,高速成了停車場。
D的導航軟體讓他走京滬高速,雖然有點堵,但還是後發先至,結果比C先到北京的快遞公司。
北京的快遞公司將D運的禮物放在倉庫裡(快取),耐心地等待C的到來,第二天C終於還是到了。
快遞公司將貨物按標籤1、2按照順序轉交給了老張。
快遞公司稍後還要派出機器人通知上海方面,貨物(標籤1、2)安全到達,請勿掛念。
老張心情大好,來而不往非禮也,於是將北京烤鴨、北京糕點打包好,讓快遞公司轉交給老王,只有一個叮囑,烤鴨先到,糕點後到(按序)。
過程與上類似,機器人E運烤鴨,機器人F運糕點。
E走京滬高速,結果在某某大橋出車禍了,被撞到江裡了,game over。
F走滬陝高速,堵了三天三夜沒動彈。
北京的快遞公司左等等、右等等,上海方面一點訊息也沒有,知道最壞的情況發生了,但快遞公司有自己的預案,三天沒有對方的訊息,就預設機器人掛了,需要重新安排機器人重新運貨物。
於是機器人G運烤鴨、H運糕點又重新上路了。
這次非常順利,G、H走的都是京滬高速,按序到達了上海快遞公司,不一會,F也到了,快遞公司很惱火,對F很不客氣滴說:你現在是多餘的人(F與H是重複的貨物,需要丟一個),快滾!
上海的快遞公司於是將烤鴨、糕點按序轉交給老王。
稍後再派出機器人通知北京方面,烤鴨、糕點已經安全到達,請不要再發重複的貨物過來!
在這個虛擬故事裡,老王是http客戶端,老張是http伺服器端,負責將什麼樣的禮物(資料)送給對方,同時負責解釋這些禮物的真正含義。
快遞公司是TCP,負責將客戶的資料按序(客戶的資料按序才有意義)送到客戶指定的目的地,如果有丟失,TCP負責重傳。
機器人是IP,根據快遞公司輸入的客戶目的地,根據導航軟體將貨物送到目的地,如果有丟件,機器人無能為力。
相關文章
- http、socket、tcp的區別和聯絡?HTTPTCP
- TCP、UDP、HTTP、SOCKET之間的區別與聯絡TCPUDPHTTP
- tcp和http的區別TCPHTTP
- TCP/IP、Http的區別TCPHTTP
- orcle pfile和spfile的區別和聯絡
- NET|Ref 和out 的區別和聯絡
- Instruction和Question的區別和聯絡Struct
- Oracle中User和Schema的區別和聯絡Oracle
- 詳解CALayer 和 UIView的區別和聯絡UIView
- SCADA和PLC的區別聯絡
- Session和Cookie的聯絡與區別SessionCookie
- CGI與Servlet的區別和聯絡Servlet
- Session和Cookie的區別與聯絡SessionCookie
- 網路通訊——socket(TCP/IP).Http,同步和非同步的區別TCPHTTP非同步
- 轉:IDOCBAPIRFC區別和聯絡API
- java-介面和抽象類的聯絡和區別。Java抽象
- 中斷和異常,陷阱的區別和聯絡
- Jdk、Jre Jvm的區別和聯絡JDKJVM
- Linux和Ubuntu的區別與聯絡LinuxUbuntu
- has、ohasd、crs、cluster區別和聯絡
- javaSE中的==和equals的聯絡與區別Java
- 【知識點】 gcc和g++的聯絡和區別GC
- Rxjs map, mergeMap 和 switchMap 的區別和聯絡JS
- 程式和執行緒的區別與聯絡執行緒
- HDFS 塊和 Input Splits 的區別與聯絡
- NUMA,MPP和HADOOP的區別與聯絡Hadoop
- 並行和併發的區別與聯絡並行
- volatile和synchronized的區別與聯絡[轉]synchronized
- malloc free與new delete的區別和聯絡delete
- C/C++引用和指標的聯絡和區別C++指標
- TCP/IP、HTTP和Socket總結TCPHTTP
- hive中order by、distribute by、sort by和cluster by的區別和聯絡Hive
- SAP UI5 和 OpenUI5 的區別和聯絡UI
- 程式、執行緒和協程之間的區別和聯絡執行緒
- 模電和數電在應用上的區別和聯絡
- 程序、執行緒和協程之間的區別和聯絡執行緒
- Tnsping 和TCP/IP 中的ping 的區別TCP
- ORACLE中的兩個概念:user和schema的區別和聯絡Oracle