計(jì)算機(jī)網(wǎng)絡(luò)

TCP

TCP 三次握手和四次揮手、畫圖厉萝、fin_wait恍飘,time_wait 狀態(tài)介紹一下、time_wait如何避免谴垫、每一次發(fā)送報(bào)文的具體格式章母、擁塞控制機(jī)制、報(bào)文大小(20B)

UDP

TCP 與 UDP 區(qū)別翩剪?都適用哪些業(yè)務(wù)場(chǎng)景乳怎?用TCP發(fā)大包會(huì)出現(xiàn)什么情況?UDP會(huì)嗎前弯?
UDP報(bào)文大小 (8B)

封包和解包

  • TCP 粘包現(xiàn)象
    在做TCP通信的時(shí)候蚪缀,如果需要在一條連接上連續(xù)發(fā)送不同結(jié)構(gòu)的數(shù)據(jù)時(shí),可能遇到其中的某些包完整恕出,某些包不完整询枚,也可能遇到某些包包含多個(gè)數(shù)據(jù)。這就是典型的TCP粘包現(xiàn)象浙巫。TCP粘包現(xiàn)象是指在使用TCP通信的時(shí)候金蜀,一個(gè)完成的消息可能會(huì)被TCP拆分成多個(gè)包進(jìn)行發(fā)送刷后,也有可能把多個(gè)小的包封裝成一個(gè)大的數(shù)據(jù)包進(jìn)行發(fā)送。
  • TCP 粘包原因
    1渊抄、由Nagle算法造成的發(fā)送端的粘包尝胆。發(fā)送端需要等緩沖區(qū)滿才發(fā)送數(shù)據(jù)出去,這就有可能把多個(gè)小的包封裝成一個(gè)大的數(shù)據(jù)包進(jìn)行發(fā)送护桦。
    2含衔、接收端接收不及時(shí)造成的接收端粘包。TCP會(huì)把接收到的數(shù)據(jù)存在自己的緩沖區(qū)中,然后通知應(yīng)用層取數(shù)據(jù)嘶炭。當(dāng)應(yīng)用層不能及時(shí)的把TCP的數(shù)據(jù)取出來(lái),就會(huì)造成緩沖區(qū)中存放了多個(gè)MSS數(shù)據(jù)抱慌。
  • 為了解決 "粘包" 問題,大家通常會(huì)在所發(fā)送的內(nèi)容前眨猎,加上發(fā)送內(nèi)容的長(zhǎng)度,所以對(duì)方會(huì)先收 4 Byte 强经,解析獲得接下來(lái)需要接收的長(zhǎng)度睡陪,再進(jìn)行收包
  • 對(duì)于 UDP 來(lái)說(shuō)就不存在拆包問題。因?yàn)?UDP 是個(gè) '數(shù)據(jù)包' 協(xié)議匿情,也就是兩段數(shù)據(jù)間是有界限的兰迫,在接收端要么接收不到數(shù)據(jù)要么就是接收一段完整的數(shù)據(jù),不會(huì)少接收也不會(huì)多接收

HTTP vs HTTPS

了解多少炬称?HTTP狀態(tài)碼了解多少汁果?HTP頭部有哪些字段?

cookie 和 session 區(qū)別

參考1 參考2
Session 是服務(wù)器用來(lái)跟蹤用戶的一種手段玲躯,每個(gè) Session 都有一個(gè)唯一標(biāo)識(shí):Session ID据德。當(dāng)服務(wù)器創(chuàng)建了一個(gè) Session 時(shí),給客戶端發(fā)送的響應(yīng)報(bào)文就包含了 Set-Cookie 字段跷车,其中有一個(gè)名為 sid 的鍵值對(duì)棘利,這個(gè)鍵值對(duì)就是 Session ID⌒嘟桑客戶端收到后就把 Cookie 保存在瀏覽器中善玫,并且之后發(fā)送的請(qǐng)求報(bào)文都包含 Session ID。HTTP 就是 Session 和 Cookie 這兩種方式一起合作來(lái)實(shí)現(xiàn)跟蹤用戶狀態(tài)的密强,而 Session 用于服務(wù)器端茅郎,Cookie 用于客戶端。

DNS 域名系統(tǒng)

  • DNS 是因特網(wǎng)使用的命名系統(tǒng)或渤,用來(lái)把便于人們記憶的含有特定含義的主機(jī)名(www.baidu.com) 轉(zhuǎn)換為便于機(jī)器處理的 IP 地址
  • DNS 采用客戶/服務(wù)器模型系冗,其協(xié)議運(yùn)行在 UDP 之上,使用 53 號(hào)端口
  • 瀏覽器輸入 www.baidu.com 發(fā)生的事
    1劳坑,瀏覽器分析鏈接指向頁(yè)面的URL (www.baidu.com)
    2毕谴,瀏覽器向 DNS 請(qǐng)求解析 www.baidu.com 的 IP 地址
    3,域名系統(tǒng) DNS 解析出百度服務(wù)器的 IP 地址
    4,瀏覽器與該服務(wù)器建立 TCP 鏈接 (默認(rèn)端口號(hào)80)
    5涝开,瀏覽器發(fā)出 HTTP 請(qǐng)求: GET 百度首頁(yè)面
    6循帐,服務(wù)器通過 HTTP 響應(yīng)把文件 (首頁(yè)面) 發(fā)送給瀏覽器
    7,TCP 連接釋放
    8舀武,瀏覽器將文件 (首頁(yè)面) 進(jìn)行解釋拄养,并將 web 頁(yè)顯示給用戶

常見web安全問題,SQL注入银舱、XSS瘪匿、CSRF,基本原理以及如何防御

XSS(跨站腳本攻擊):用戶過分信任網(wǎng)站寻馏,放任來(lái)自瀏覽器地址欄代表的那個(gè)網(wǎng)站代碼在自己本地任意執(zhí)行棋弥。如果沒有瀏覽器的安全機(jī)制限制,xss代碼可以在用戶瀏覽器為所欲為诚欠;

CSRF(跨站請(qǐng)求偽造):網(wǎng)站過分信任用戶顽染,放任來(lái)自所謂通過訪問控制機(jī)制的代表合法用戶的請(qǐng)求執(zhí)行網(wǎng)站的某個(gè)特定功能。

XSS(盜用用戶的身份)原理上利用的是瀏覽器可以拼接成任意的javascript轰绵,然后黑客拼接好javascript讓瀏覽器自動(dòng)地給服務(wù)器端發(fā)出多個(gè)請(qǐng)求(get粉寞、post請(qǐng)求)。

CSRF(服務(wù)端程序員背鍋左腔,沒驗(yàn)證好)原理上利用的是網(wǎng)站服務(wù)器端所有參數(shù)都是可預(yù)先構(gòu)造的原理唧垦,然后黑客拼接好具體請(qǐng)求****url,可以引誘你提交他構(gòu)造好的請(qǐng)求液样。

協(xié)議

RIP振亮,BGP,ARP了解多少說(shuō)多少

地址解析協(xié)議 ARP(Address Resolution Protocol)

網(wǎng)絡(luò)層實(shí)現(xiàn)主機(jī)之間的通信蓄愁,而鏈路層實(shí)現(xiàn)具體每段鏈路之間的通信双炕。因此在通信過程中,IP 數(shù)據(jù)報(bào)的源地址和目的地址始終不變撮抓,而 MAC 地址隨著鏈路的改變而改變妇斤。
ARP 實(shí)現(xiàn)由 IP 地址得到 MAC 地址。
每個(gè)主機(jī)都有一個(gè) ARP 高速緩存丹拯,里面有本局域網(wǎng)上的各主機(jī)和路由器的 IP 地址到 MAC 地址的映射表站超。
如果主機(jī) A 知道主機(jī) B 的 IP 地址,但是 ARP 高速緩存中沒有該 IP 地址到 MAC 地址的映射乖酬,此時(shí)主機(jī) A 通過廣播的方式發(fā)送 ARP 請(qǐng)求分組死相,主機(jī) B 收到該請(qǐng)求后會(huì)發(fā)送 ARP 響應(yīng)分組給主機(jī) A 告知其 MAC 地址,隨后主機(jī) A 向其高速緩存中寫入主機(jī) B 的 IP 地址到 MAC 地址的映射咬像。

網(wǎng)際控制報(bào)文協(xié)議 ICMP(Internet Control Message Protocol)

ICMP 報(bào)文分為差錯(cuò)報(bào)告報(bào)文和詢問報(bào)文算撮。
1生宛、 Ping
  • Ping 是 ICMP 的一個(gè)重要應(yīng)用甩挫,主要用來(lái)測(cè)試兩臺(tái)主機(jī)之間的連通性祟敛。
  • Ping 的原理是通過向目的主機(jī)發(fā)送 ICMP Echo 請(qǐng)求報(bào)文,目的主機(jī)收到之后會(huì)發(fā)送 Echo 回答報(bào)文疟游。Ping 會(huì)根據(jù)時(shí)間和成功響應(yīng)的次數(shù)估算出數(shù)據(jù)包往返時(shí)間以及丟包率审洞。
2莱睁、Traceroute
  • Traceroute 是 ICMP 的另一個(gè)應(yīng)用,用來(lái)跟蹤一個(gè)分組從源點(diǎn)到終點(diǎn)的路徑芒澜。
  • Traceroute 發(fā)送的 IP 數(shù)據(jù)報(bào)封裝的是無(wú)法交付的 UDP 用戶數(shù)據(jù)報(bào)仰剿,并由目的主機(jī)發(fā)送終點(diǎn)不可達(dá)差錯(cuò)報(bào)告報(bào)文。
  • 源主機(jī)向目的主機(jī)發(fā)送一連串的 IP 數(shù)據(jù)報(bào)痴晦。第一個(gè)數(shù)據(jù)報(bào) P1 的生存時(shí)間 TTL 設(shè)置為 1南吮,當(dāng) P1 到達(dá)路徑上的第一個(gè)路由器 R1 時(shí),R1 收下它并把 TTL 減 1阅酪,此時(shí) TTL 等于 0旨袒,R1 就把 P1 丟棄,并向源主機(jī)發(fā)送一個(gè) ICMP 時(shí)間超過差錯(cuò)報(bào)告報(bào)文术辐;
  • 源主機(jī)接著發(fā)送第二個(gè)數(shù)據(jù)報(bào) P2,并把 TTL 設(shè)置為 2施无。P2 先到達(dá) R1辉词,R1 收下后把 TTL 減 1 再轉(zhuǎn)發(fā)給 R2,R2 收下后也把 TTL 減 1猾骡,由于此時(shí) TTL 等于 0瑞躺,R2 就丟棄 P2,并向源主機(jī)發(fā)送一個(gè) ICMP 時(shí)間超過差錯(cuò)報(bào)文兴想。
  • 不斷執(zhí)行這樣的步驟幢哨,直到最后一個(gè)數(shù)據(jù)報(bào)剛剛到達(dá)目的主機(jī),主機(jī)不轉(zhuǎn)發(fā)數(shù)據(jù)報(bào)嫂便,也不把 TTL 值減 1捞镰。但是因?yàn)閿?shù)據(jù)報(bào)封裝的是無(wú)法交付的 UDP,因此目的主機(jī)要向源主機(jī)發(fā)送 ICMP 終點(diǎn)不可達(dá)差錯(cuò)報(bào)告報(bào)文毙替。
  • 之后源主機(jī)知道了到達(dá)目的主機(jī)所經(jīng)過的路由器 IP 地址以及到達(dá)每個(gè)路由器的往返時(shí)間岸售。

路由選擇協(xié)議 RIP OSPF BGP

網(wǎng)際組管理協(xié)議 IGMP(Internet Group Management Protocol)

其他

  • socket編程,recv返回收到包是真的收到包了嗎厂画?會(huì)用 socket 嗎凸丸?
  • get 和 post 區(qū)別 參考1 參考2
    GET請(qǐng)求的數(shù)據(jù)會(huì)附在URL之后(就是把數(shù)據(jù)放置在HTTP協(xié)議頭中),以?分割URL和傳輸數(shù)據(jù)袱院,參數(shù)之間以&相連
    POST把提交的數(shù)據(jù)則放置在是HTTP包的包體中屎慢。

對(duì)于GET方式的請(qǐng)求瞭稼,瀏覽器會(huì)把http header和data一并發(fā)送出去,服務(wù)器響應(yīng)200(返回?cái)?shù)據(jù))腻惠;
而對(duì)于POST环肘,瀏覽器先發(fā)送header,服務(wù)器響應(yīng)100 continue妖枚,瀏覽器再發(fā)送data廷臼,服務(wù)器響應(yīng)200 ok(返回?cái)?shù)據(jù))。

對(duì)參數(shù)的數(shù)據(jù)類型绝页,GET只接受ASCII字符荠商,而POST沒有限制。
GET比POST更不安全续誉,因?yàn)閰?shù)直接暴露在URL上莱没,所以不能用來(lái)傳遞敏感信息。
GET參數(shù)通過URL傳遞酷鸦,POST放在Request body中饰躲。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市臼隔,隨后出現(xiàn)的幾起案子嘹裂,更是在濱河造成了極大的恐慌,老刑警劉巖摔握,帶你破解...
    沈念sama閱讀 219,270評(píng)論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件寄狼,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡氨淌,警方通過查閱死者的電腦和手機(jī)泊愧,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,489評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)盛正,“玉大人删咱,你說(shuō)我怎么就攤上這事『荔荩” “怎么了痰滋?”我有些...
    開封第一講書人閱讀 165,630評(píng)論 0 356
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)壤蚜。 經(jīng)常有香客問我即寡,道長(zhǎng),這世上最難降的妖魔是什么袜刷? 我笑而不...
    開封第一講書人閱讀 58,906評(píng)論 1 295
  • 正文 為了忘掉前任聪富,我火速辦了婚禮,結(jié)果婚禮上著蟹,老公的妹妹穿的比我還像新娘墩蔓。我一直安慰自己梢莽,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,928評(píng)論 6 392
  • 文/花漫 我一把揭開白布奸披。 她就那樣靜靜地躺著昏名,像睡著了一般。 火紅的嫁衣襯著肌膚如雪阵面。 梳的紋絲不亂的頭發(fā)上轻局,一...
    開封第一講書人閱讀 51,718評(píng)論 1 305
  • 那天,我揣著相機(jī)與錄音样刷,去河邊找鬼仑扑。 笑死,一個(gè)胖子當(dāng)著我的面吹牛置鼻,可吹牛的內(nèi)容都是我干的镇饮。 我是一名探鬼主播,決...
    沈念sama閱讀 40,442評(píng)論 3 420
  • 文/蒼蘭香墨 我猛地睜開眼箕母,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼储藐!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起嘶是,我...
    開封第一講書人閱讀 39,345評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤钙勃,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后聂喇,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體肺缕,經(jīng)...
    沈念sama閱讀 45,802評(píng)論 1 317
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,984評(píng)論 3 337
  • 正文 我和宋清朗相戀三年授帕,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片浮梢。...
    茶點(diǎn)故事閱讀 40,117評(píng)論 1 351
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡跛十,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出秕硝,到底是詐尸還是另有隱情芥映,我是刑警寧澤,帶...
    沈念sama閱讀 35,810評(píng)論 5 346
  • 正文 年R本政府宣布远豺,位于F島的核電站奈偏,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏躯护。R本人自食惡果不足惜惊来,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,462評(píng)論 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望棺滞。 院中可真熱鬧裁蚁,春花似錦矢渊、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,011評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至室谚,卻和暖如春毡鉴,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背秒赤。 一陣腳步聲響...
    開封第一講書人閱讀 33,139評(píng)論 1 272
  • 我被黑心中介騙來(lái)泰國(guó)打工猪瞬, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人倒脓。 一個(gè)月前我還...
    沈念sama閱讀 48,377評(píng)論 3 373
  • 正文 我出身青樓撑螺,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親崎弃。 傳聞我的和親對(duì)象是個(gè)殘疾皇子甘晤,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,060評(píng)論 2 355

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