網(wǎng)絡(luò)知識(shí)匯總

1.TCP協(xié)議中三次握手,四次揮手?

三次握手:(1)客戶(hù)端發(fā)送請(qǐng)求連接報(bào)文(SYN);

??????????????? (2)服務(wù)端接受連接后回復(fù)ACK報(bào)文,并為連接分配資源;

??????????????? (3)客戶(hù)端接受ACK報(bào)文后也向服務(wù)端發(fā)送ACK報(bào)文,并分配資源;

一般是客戶(hù)端先向服務(wù)器發(fā)送請(qǐng)求:

??????????????? 第一次握手發(fā)送一個(gè)序列號(hào);

??????????????? 第二次握手的序列號(hào)是單獨(dú)發(fā)送的,第二次握手的確認(rèn)號(hào)是第一次握手序列號(hào)+1;

??????????????? 第三次握手的序列號(hào)是第二次握手的確認(rèn)號(hào),第三次握手的確認(rèn)號(hào)是是第二次握手的序列號(hào)+1;

四次揮手:

???? 客戶(hù)端: (1)客戶(hù)端給服務(wù)端發(fā)送一個(gè)FIN;(我要關(guān)了)

????????????????? (2)服務(wù)端接收到FIN返回ACK報(bào)文;(等等,我還沒(méi)準(zhǔn)備好)

????????????????? (3)服務(wù)端發(fā)送給客戶(hù)端一個(gè)FIN(我準(zhǔn)備好了);

????????????????? (4)客戶(hù)端接受FIN,并發(fā)送ACK報(bào)文(我斷了);


總體梳理:從連接到斷開(kāi)的過(guò)程:

(1)客戶(hù)端:發(fā)送SYN到服務(wù)端(2)服務(wù)端:接收SYN,返回ACK到客戶(hù)端,為連接分配資源(3)客戶(hù)端:接收ACK,也發(fā)送一個(gè)ACK給服務(wù)端,并分配資源;(4)客戶(hù)端:發(fā)送一個(gè)FIN給服務(wù)端并計(jì)入等待狀態(tài)1(5)服務(wù)端:接收FIN,發(fā)送一個(gè)ACK給客戶(hù)端,進(jìn)入等待狀態(tài)2;(6)服務(wù)端:發(fā)送FIN給客戶(hù)端;(7)客戶(hù)端:接收FIN,給客戶(hù)端發(fā)送一個(gè)ACK到服務(wù)端,服務(wù)端不發(fā)送任何消息,等待30S后客戶(hù)端關(guān)閉;

TCP關(guān)閉的過(guò)程中:處于TIME_WAIT狀態(tài)的連接等待2MSL后真正關(guān)閉連接;

2.輸入一個(gè)網(wǎng)址后發(fā)生什么?

(1).在瀏覽器上輸入一個(gè)網(wǎng)址;

(2).瀏覽器查找域名的IP地址;DNS查找過(guò)程如下:

????? ~查看瀏覽器緩存,未果轉(zhuǎn)下一步

????? ~查看系統(tǒng)緩存(windows里是gethostbyname,由此獲得系統(tǒng)緩存的記錄)

????? ~路由器緩存:前面的查詢(xún)請(qǐng)求發(fā)送到路由器,一般會(huì)有路由器DNS緩存

????? ~ISP DNS緩存:check ISP緩存DNS的服務(wù)器

?? ??? ~遞歸搜索:ISP 的DNS服務(wù)器從跟域名服務(wù)器開(kāi)始進(jìn)行遞歸搜索;

(3)瀏覽器給web服務(wù)器發(fā)送一個(gè)HTTP請(qǐng)求,通過(guò)GET方式

  GET? http://facebook.com/HTTP/1.1

??????????? Accept: appliation/x-ms-application,image/jpeg,application/xaml+xml,[...]

??????????? User-Agent: Mozilla/4.0(compatible;MSIE 8.0;Windows NT 6.1;WOW64;[...]);

??????????? Accept-Encoding: gzip,deflate

??????????? Connection: Keep-Alive???? //要求服務(wù)器為了后面的請(qǐng)求不要關(guān)閉TCP連接

??????????? Host: fackbook.com

??????????? Cookie: datr=1265834934-[.....]

(4).web服務(wù)器的永久重定向響應(yīng)301,web服務(wù)器發(fā)送給瀏覽器一個(gè)響應(yīng);

? ? ? ? ? ?? HTTP/1.1 301 Moved Permanently

??????? ? ?? Cache-Control: private, no-store, no-cache, must-revalidate, post-check=0,

???????????? pre-check=0

???????????? Expires: Sat, 01 Jan 2000 00:00:00 GMT

???????????? Location: http://www.facebook.com/

???????????? P3P: CP="DSP LAW"

????????????? Pragma: no-cache

?????????????? Set-Cookie: made_write_conn=deleted; expires=Thu, 12-Feb-2009 05:09:50 GMT;

?????????????? path=/; domain=.facebook.com; httponly

?????????????? Content-Type: text/html; charset=utf-8

?????????????? X-Cnection: close

?????????????? Date: Fri, 12 Feb 2010 05:09:51 GMT

?????????????? Content-Length: 0

???????????? 重定向和服務(wù)器的搜索引擎排名有關(guān)

(5)瀏覽器跟蹤重定向地址,瀏覽器知道要訪問(wèn)的正確地址后會(huì)發(fā)送另一個(gè)獲取請(qǐng)求:

? ? ? ? ? GET http://www.facebook.com/ HTTP/1.1

???????? Accept: application/x-ms-application, image/jpeg, application/xaml+xml, [...]

???????? Accept-Language: en-US

???????? User-Agent: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; WOW64; [...]

???????? Accept-Encoding: gzip, deflate

???????? Connection: Keep-Alive

???????? Cookie: lsd=XW[...]; c_user=21[...]; x-referer=[...]

???????? Host: www.facebook.com

??????? 頭信息以之前請(qǐng)求中的意義相同。

(6).服務(wù)器'處理'請(qǐng)求

????????? 服務(wù)器接收到獲取請(qǐng)求,然后處理并返回一個(gè)響應(yīng)

(7).服務(wù)器發(fā)回一個(gè)HTML響應(yīng) 200

??????? 服務(wù)器生成并返回一個(gè)響應(yīng)

???????? HTTP/1.1 200 OK

???????? Cache-Control: private, no-store, no-cache, must-revalidate, post-check=0,

???????? pre-check=0

???????? Expires: Sat, 01 Jan 2000 00:00:00 GMT

???????? P3P: CP="DSP LAW"

???????? Pragma: no-cache

???????? Content-Encoding: gzip

???????? Content-Type: text/html; charset=utf-8

???????? X-Cnection: close

????????? Transfer-Encoding: chunked

????????? Date: Fri, 12 Feb 2010 09:05:55 GMT

????????? 2b3Tn@[...]

(8). 瀏覽器開(kāi)始顯示HTML

(9). 瀏覽器發(fā)送獲取嵌入在HTML中的對(duì)象

(10). 瀏覽器發(fā)送異步(AJAX)請(qǐng)求

3.瀏覽器的內(nèi)核差異

trident(IE內(nèi)核),兼容瀏覽模式

webkit(safari內(nèi)核,chrome內(nèi)核圓形);

gecko(ff)


presto(opera內(nèi)核)

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

推薦閱讀更多精彩內(nèi)容