內(nèi)容導(dǎo)讀
簡(jiǎn)單說(shuō),這個(gè)通信的過(guò)程是基于TCP/IP通信協(xié)議族規(guī)范的,完成從客戶(hù)端到服務(wù)器端等一系列運(yùn)作流程。1、TCP/IP協(xié)議族計(jì)算機(jī)與網(wǎng)絡(luò)設(shè)備要相互通信,雙方就必須基于相同的方法。這里就說(shuō)到TCP/IP重要的層次化劃分,按層次可以分為4層:應(yīng)用層、傳輸層、網(wǎng)絡(luò)層和數(shù)據(jù)鏈路層。如HTTP,F(xiàn)TP,DNS等協(xié)議;(2) 傳輸層:對(duì)應(yīng)用層提供網(wǎng)絡(luò)連接時(shí)的兩臺(tái)計(jì)算機(jī)的數(shù)據(jù)傳輸。傳輸層有兩個(gè)性質(zhì)不同的協(xié)議: TCP(Transmission Control Protocol,傳輸控制協(xié)議)和 UDP(User Data Protocol,用戶(hù)數(shù)據(jù)報(bào)協(xié)議);(3) 網(wǎng)絡(luò)層: 用來(lái)處理網(wǎng)絡(luò)中流動(dòng)的數(shù)據(jù)包,該層規(guī)定了通過(guò)怎樣的傳輸路徑將數(shù)據(jù)包傳遞到對(duì)方計(jì)算機(jī)。而計(jì)算機(jī)相對(duì)更容易處理一組數(shù)字,這時(shí)DNS域名解析服務(wù)應(yīng)運(yùn)而生。
前言
我們使用瀏覽器發(fā)送請(qǐng)求后頁(yè)面是如何呈現(xiàn)在我們面前的呢?
在實(shí)際的學(xué)習(xí)web開(kāi)發(fā)的過(guò)程中通訊,網(wǎng)站開(kāi)發(fā),網(wǎng)絡(luò)爬蟲(chóng)的程序設(shè)計(jì)都是需要這方面專(zhuān)業(yè)知識(shí)。接下來(lái)我們圖解下這個(gè)URL到呈現(xiàn)頁(yè)面的過(guò)程。
一、從URL請(qǐng)求響應(yīng)過(guò)程概括
URL請(qǐng)求過(guò)程.jpg
我們?cè)跒g覽器中輸入一個(gè) URL,回車(chē)之后便會(huì)在瀏覽器中觀(guān)察到頁(yè)面內(nèi)容。實(shí)際上這個(gè)過(guò)程是瀏覽器向網(wǎng)站所在的服務(wù)器發(fā)送了一個(gè) Request(請(qǐng)求),網(wǎng)站服務(wù)器接收到這個(gè) Request 之后進(jìn)行處理和解析,然后返回對(duì)應(yīng)的一個(gè)Response(響應(yīng))給瀏覽器,Response里面就包含了頁(yè)面的源代碼等內(nèi)容,瀏覽器再對(duì)其進(jìn)行解析便將網(wǎng)頁(yè)呈現(xiàn)了出來(lái)。
這個(gè)過(guò)程是如何規(guī)范并實(shí)現(xiàn)的呢?簡(jiǎn)單說(shuō),這個(gè)通信的過(guò)程是基于TCP/IP通信協(xié)議族規(guī)范的,完成從客戶(hù)端到服務(wù)器端等一系列運(yùn)作流程。
二、TCP/IP 通信協(xié)議大家族的整體介紹
前面說(shuō)過(guò)網(wǎng)絡(luò)的通信是基于TCP/IP協(xié)議族規(guī)范的。那TCP/IP協(xié)議族是什么呢?如何規(guī)范網(wǎng)絡(luò)通信的過(guò)程呢?
1、TCP/IP協(xié)議族
計(jì)算機(jī)與網(wǎng)絡(luò)設(shè)備要相互通信,雙方就必須基于相同的方法。比如,如何探測(cè)到通信目標(biāo)、由哪一邊先發(fā)起通信、使用哪種語(yǔ)言進(jìn)行通信、怎樣結(jié)束通信等規(guī)則都需要事先確定。不同的硬件、操作系統(tǒng)之間的通信,所有的這一切都需要一種規(guī)則,而我們就把這種規(guī)則稱(chēng)為協(xié)議(protocol)。通常我們說(shuō)的TCP/IP協(xié)議族是互聯(lián)網(wǎng)相關(guān)的各類(lèi)協(xié)議族的總稱(chēng)。
TCP/IP族.png
TCP/IP協(xié)議族由那么多的協(xié)議組成,那功能上如何劃分的呢?這里就說(shuō)到TCP/IP重要的層次化劃分,按層次可以分為4層:應(yīng)用層、傳輸層、網(wǎng)絡(luò)層和數(shù)據(jù)鏈路層。層次化的好處在于每個(gè)層次內(nèi)部的設(shè)計(jì)可以自由改動(dòng),并通過(guò)各層的接口關(guān)聯(lián)起來(lái),而如果只有一個(gè)協(xié)議統(tǒng)籌就需要對(duì)所有涉及到的部分都重新設(shè)計(jì)。
2、TCP/IP各層的作用
(1) 應(yīng)用層:決定了向用戶(hù)提供應(yīng)用服務(wù)時(shí)候的通信活動(dòng)。如HTTP,F(xiàn)TP通訊,DNS等協(xié)議;
(2) 傳輸層:對(duì)應(yīng)用層提供網(wǎng)絡(luò)連接時(shí)的兩臺(tái)計(jì)算機(jī)的數(shù)據(jù)傳輸。傳輸層有兩個(gè)性質(zhì)不同的協(xié)議: TCP(Transmission Control Protocol,傳輸控制協(xié)議)和 UDP(User Data Protocol,用戶(hù)數(shù)據(jù)報(bào)協(xié)議);
(3) 網(wǎng)絡(luò)層: 用來(lái)處理網(wǎng)絡(luò)中流動(dòng)的數(shù)據(jù)包,該層規(guī)定了通過(guò)怎樣的傳輸路徑將數(shù)據(jù)包傳遞到對(duì)方計(jì)算機(jī)。如IP協(xié)議;
(4) 數(shù)據(jù)鏈路層:用來(lái)處理網(wǎng)絡(luò)連接中的硬件部分。 如FDDI協(xié)議;
三、TCP/IP是如何規(guī)范通信過(guò)程
通信過(guò)程.png
第一步、發(fā)送URL請(qǐng)求
URL格式介紹.png
Url由以下元素組成: