IP、TCP和HTTP協(xié)議

網(wǎng)址

隨意舉個(gè)例子:http://www.baidu.com/images/32324.jpg

  • 『http』是遵守的協(xié)議
  • www.baidu.com』域名,也就是主機(jī)的地址
  • 『images/32324.jpg』 資源目錄

網(wǎng)絡(luò)模型

應(yīng)用層(HTTP)、表示層、會(huì)話層、傳輸層(TCP)、網(wǎng)絡(luò)層(IP)、數(shù)據(jù)鏈路層、物理層。

IP協(xié)議
  • IP協(xié)議的功能:明確規(guī)定Host之間(資料包)數(shù)據(jù)包的傳輸方式
  • 數(shù)據(jù)包:一段二進(jìn)制數(shù)據(jù),其中包含了發(fā)送源主機(jī)和目的主機(jī)的信息;如果數(shù)據(jù)包大于允許傳輸?shù)淖畲蟪叽纾瑒t會(huì)拆分成多個(gè)數(shù)據(jù)包(Fragmentation數(shù)據(jù)分片)
  • 特點(diǎn):(盡力服務(wù))提供有效服務(wù)并盡力傳輸(數(shù)據(jù)包有可能被丟失,也有可能被重復(fù)傳送導(dǎo)致目的主機(jī)接收同樣的數(shù)據(jù)包)
    *IP地址:網(wǎng)絡(luò)中的每個(gè)主機(jī)都分配有地址,數(shù)據(jù)包中包含地址信息
IP協(xié)議報(bào)頭結(jié)構(gòu)

TCP協(xié)議

  • TCP是基于IP層的協(xié)議。但是TCP是可靠的、有序的、有錯(cuò)誤檢查機(jī)制的基于字節(jié)流傳輸?shù)膮f(xié)議。當(dāng)兩個(gè)設(shè)備上的應(yīng)用通過TCP來傳遞數(shù)據(jù)的時(shí)候,總能夠保證目標(biāo)接收方收到的數(shù)據(jù)的順序和內(nèi)容與發(fā)送方所發(fā)出的是一致的。
  • HTTP是典型的TCP應(yīng)用。用戶瀏覽器與web服務(wù)器建立連接后,瀏覽器可以通過連接發(fā)送服務(wù)請(qǐng)求,web服務(wù)器可以通過同樣的連接對(duì)請(qǐng)求作出響應(yīng)。
  • 同一個(gè)host主機(jī)可以有多個(gè)應(yīng)用同時(shí)使用TCP協(xié)議。TCP用不同的端口來區(qū)別應(yīng)用。作為連接的兩端,發(fā)送源和接受目標(biāo)哦分別擁有自己的IP地址和端口號(hào)。憑借這樣一對(duì)IP地址和端口號(hào),就可以唯一標(biāo)識(shí)一個(gè)連接。
TCP報(bào)文
  • 主機(jī)之間傳輸?shù)臄?shù)據(jù)流一般先會(huì)被分塊,再轉(zhuǎn)化成TCP的報(bào)文段,最終會(huì)生成IP數(shù)據(jù)包中的payload載荷數(shù)據(jù)。
  • 每個(gè)TCP報(bào)文段都有header和對(duì)應(yīng)的載荷payload。payload信息就是待傳輸?shù)臄?shù)據(jù)塊。TCP報(bào)文段的header信息中主要包含的是源和目標(biāo)端口號(hào)。
TCP連接:三次握手
  1. 第一次握手:建立連接時(shí),客戶端A發(fā)送SYN包(SYN=j)到服務(wù)器B,并進(jìn)入SYN_SEND狀態(tài),等待服務(wù)器B確認(rèn)。
  2. 第二次握手:服務(wù)器B收到SYN包,必須確認(rèn)客戶A的SYN(ACK=j+1),同時(shí)自己也發(fā)送一個(gè)SYN包(SYN=k),即SYN+ACK包,此時(shí)服務(wù)器B進(jìn)入SYN_RECV狀態(tài)。
  3. 第三次握手:客戶端A收到服務(wù)器B的SYN+ACK包,向服務(wù)器B發(fā)送確認(rèn)包ACK(ACK=k+1),此包發(fā)送完畢,客戶端A和服務(wù)器B進(jìn)入ESTABLISHED狀態(tài),完成三次握手。
    完成三次握手,客戶端與服務(wù)器開始傳送數(shù)據(jù)。


    三次握手

HTTP請(qǐng)求類型

  • GET:從服務(wù)器端請(qǐng)求特定資源
  • POST:上傳數(shù)據(jù)(表單、文件)到服務(wù)器
  • GET和POST都可以上傳和請(qǐng)求,但是GET會(huì)在網(wǎng)址上明文體現(xiàn)出上傳數(shù)據(jù),而POST會(huì)有一個(gè)請(qǐng)求體
  • HEAD:向服務(wù)器端索要和GET請(qǐng)求一致的response,不包含具體內(nèi)容
  • PUT、DELETE、TRACE、CONNECT、OPTIONS
HTTP請(qǐng)求頭Header
HTTP請(qǐng)求Header重要內(nèi)容
HTTP響應(yīng)Response

如何讓應(yīng)用使用HTTP協(xié)議

  • 在info.plist文件中關(guān)閉HTTPS
  • App Transport Security Settings
  • Allow Arbitrary Loads 值為YES
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 個(gè)人認(rèn)為,Goodboy1881先生的TCP /IP 協(xié)議詳解學(xué)習(xí)博客系列博客是一部非常精彩的學(xué)習(xí)筆記,這雖然只是...
    貳零壹柒_fc10閱讀 5,195評(píng)論 0 8
  • 1.這篇文章不是本人原創(chuàng)的,只是個(gè)人為了對(duì)這部分知識(shí)做一個(gè)整理和系統(tǒng)的輸出而編輯成的,在此鄭重地向本文所引用文章的...
    SOMCENT閱讀 13,375評(píng)論 6 174
  • 參考:http://www.2cto.com/net/201611/569006.html TCP HTTP UD...
    F麥子閱讀 3,069評(píng)論 0 14
  • 簡(jiǎn)介 用簡(jiǎn)單的話來定義tcpdump,就是:dump the traffic on a network,根據(jù)使用者...
    保川閱讀 6,082評(píng)論 1 13
  • 最近在惡補(bǔ)計(jì)算機(jī)網(wǎng)絡(luò)方面的知識(shí),之前對(duì)于TCP的三次握手和四次分手也是模模糊糊,對(duì)于其中的細(xì)節(jié)更是渾然不知,最近看...
    微醺歲月閱讀 9,664評(píng)論 4 128

友情鏈接更多精彩內(nèi)容