2018-06-19 網(wǎng)絡(luò)基礎(chǔ)知識(shí)

  • 1冈钦、Http和Https的區(qū)別涎永?
    • Http協(xié)議運(yùn)行在TCP之上跨扮,明文傳輸甚疟,客戶端與服務(wù)器端都無法驗(yàn)證對(duì)方的身份晃财;
    • Https是身披SSL(Secure Socket Layer)外殼的Http赌躺,運(yùn)行于SSL上扛伍,SSL運(yùn)行于TCP之上掂榔,是添加了加密和認(rèn)證機(jī)制的HTTP探颈。

    二者之間存在如下不同:

    端口不同:Http與Http使用不同的連接方式熟丸,用的端口也不一樣,前者是80伪节,后者是443光羞;

    資源消耗:和HTTP通信相比,Https通信會(huì)由于加減密處理消耗更多的CPU和內(nèi)存資源怀大;

    開銷:Https通信需要證書纱兑,而證書一般需要向認(rèn)證機(jī)構(gòu)購(gòu)買;Https的加密機(jī)制是一種共享密鑰加密和公開密鑰加密并用的混合加密機(jī)制化借。

  • 2潜慎、三次握手

    三次握手(我要和你建立鏈接,你真的要和我建立鏈接么蓖康,我真的要和你建立鏈接铐炫,成功)

    • 第一次握手:Client將標(biāo)志位SYN置為1,隨機(jī)產(chǎn)生一個(gè)值seq=J蒜焊,并將該數(shù)據(jù)包發(fā)送給Server倒信,Client進(jìn)入SYN_SENT狀態(tài),等待Server確認(rèn)泳梆。

    • 第二次握手:Server收到數(shù)據(jù)包后由標(biāo)志位SYN=1知道Client請(qǐng)求建立連接堤结,Server將標(biāo)志位SYN和ACK都置為1,ack=J+1鸭丛,隨機(jī)產(chǎn)生一個(gè)值seq=K竞穷,并將該數(shù)據(jù)包發(fā)送給Client以確認(rèn)連接請(qǐng)求,Server進(jìn)入SYN_RCVD狀態(tài)鳞溉。

    • 第三次握手:Client收到確認(rèn)后瘾带,檢查ack是否為J+1,ACK是否為1熟菲,如果正確則將標(biāo)志位ACK置為1看政,ack=K+1朴恳,并將該數(shù)據(jù)包發(fā)送給Server,Server檢查ack是否為K+1允蚣,ACK是否為1于颖,如果正確則連接建立成功,Client和Server進(jìn)入ESTABLISHED狀態(tài)嚷兔,完成三次握手森渐,隨后Client與Server之間可以開始傳輸數(shù)據(jù)了。

三次握手
  • 3冒晰、四次握手
    • 第一次揮手:Client發(fā)送一個(gè)FIN同衣,用來關(guān)閉Client到Server的數(shù)據(jù)傳送,Client進(jìn)入FIN_WAIT_1狀態(tài)壶运。

    • 第二次揮手:Server收到FIN后耐齐,發(fā)送一個(gè)ACK給Client,確認(rèn)序號(hào)為收到序號(hào)+1(與SYN相同蒋情,一個(gè)FIN占用一個(gè)序號(hào))埠况,Server進(jìn)入CLOSE_WAIT狀態(tài)。此時(shí)TCP鏈接處于半關(guān)閉狀態(tài)棵癣,即客戶端已經(jīng)沒有要發(fā)送的數(shù)據(jù)了询枚,但服務(wù)端若發(fā)送數(shù)據(jù),則客戶端仍要接收浙巫。

    • 第三次揮手:Server發(fā)送一個(gè)FIN,用來關(guān)閉Server到Client的數(shù)據(jù)傳送刷后,Server進(jìn)入LAST_ACK狀態(tài)的畴。

    • 第四次揮手:Client收到FIN后,Client進(jìn)入TIME_WAIT狀態(tài)尝胆,接著發(fā)送一個(gè)ACK給Server丧裁,確認(rèn)序號(hào)為收到序號(hào)+1,Server進(jìn)入CLOSED狀態(tài)含衔,完成四次揮手煎娇。

      四次握手

image.png
  • 4、瀏覽器中輸入網(wǎng)址之后都發(fā)生了什么贪染?
    • 1)由域名→IP地址 尋找IP地址的過程依次經(jīng)過了瀏覽器緩存缓呛、系統(tǒng)緩存、hosts文件杭隙、路由器緩存哟绊、 遞歸搜索根域名服務(wù)器。
    • 2)建立TCP/IP連接(三次握手具體過程)
    • 3)由瀏覽器發(fā)送一個(gè)HTTP請(qǐng)求
    • 4)經(jīng)過路由器的轉(zhuǎn)發(fā)痰憎,通過服務(wù)器的防火墻票髓,該HTTP請(qǐng)求到達(dá)了服務(wù)器
    • 5)服務(wù)器處理該HTTP請(qǐng)求攀涵,返回一個(gè)HTML文件
    • 6)瀏覽器解析該HTML文件,并且顯示在瀏覽器端
      這里需要注意:
      HTTP協(xié)議是一種基于TCP/IP的應(yīng)用層協(xié)議洽沟,進(jìn)行HTTP數(shù)據(jù)請(qǐng)求必須先建立TCP/IP連接
      可以這樣理解:HTTP是轎車以故,提供了封裝或者顯示數(shù)據(jù)的具體形式;Socket是發(fā)動(dòng)機(jī)裆操,提供了網(wǎng)絡(luò)通信的能力怒详。
      兩個(gè)計(jì)算機(jī)之間的交流無非是兩個(gè)端口之間的數(shù)據(jù)通信,具體的數(shù)據(jù)會(huì)以什么樣的形式展現(xiàn)是以不同的應(yīng)用層協(xié)議來定義的。
  • 5跷车、常見HTTP狀態(tài)碼
    • 1xx(臨時(shí)響應(yīng))

    • 2xx(成功)

    • 3xx(重定向):表示要完成請(qǐng)求需要進(jìn)一步操作

    • 4xx(錯(cuò)誤):表示請(qǐng)求可能出錯(cuò)棘利,妨礙了服務(wù)器的處理

    • 5xx(服務(wù)器錯(cuò)誤):表示服務(wù)器在嘗試處理請(qǐng)求時(shí)發(fā)生內(nèi)部錯(cuò)誤

    常見狀態(tài)碼:

    200(成功)
    304(未修改):自從上次請(qǐng)求后,請(qǐng)求的網(wǎng)頁未修改過朽缴。服務(wù)器返回此響應(yīng)時(shí)善玫,不會(huì)返回網(wǎng)頁內(nèi)容
    401(未授權(quán)):請(qǐng)求要求身份驗(yàn)證
    403(禁止):服務(wù)器拒絕請(qǐng)求
    404(未找到):服務(wù)器找不到請(qǐng)求的網(wǎng)頁

  • 6、Session密强、Cookie

    Cookie和Session都是客戶端與服務(wù)器之間保持狀態(tài)的解決方案茅郎,具體來說,cookie機(jī)制采用的是在客戶端保持狀態(tài)的方案或渤,而session機(jī)制采用的是在服務(wù)器端保持狀態(tài)的方案系冗。

    • Cookie 及其相關(guān) API:
      Cookie實(shí)際上是一小段的文本信息⌒金校客戶端請(qǐng)求服務(wù)器掌敬,如果服務(wù)器需要記錄該用戶狀態(tài),就使用response向客戶端瀏覽器頒發(fā)一個(gè)Cookie池磁,而客戶端瀏覽器會(huì)把Cookie保存起來奔害。當(dāng)瀏覽器再請(qǐng)求該網(wǎng)站時(shí),瀏覽器把請(qǐng)求的網(wǎng)址連同該Cookie一同提交給服務(wù)器地熄,服務(wù)器檢查該Cookie华临,以此來辨認(rèn)用戶狀態(tài)。服務(wù)器還可以根據(jù)需要修改Cookie的內(nèi)容端考。

    • Session 及其相關(guān) API:
      同樣地雅潭,會(huì)話狀態(tài)也可以保存在服務(wù)器端∪刺兀客戶端請(qǐng)求服務(wù)器扶供,如果服務(wù)器記錄該用戶狀態(tài),就獲取Session來保存狀態(tài)裂明,這時(shí)诚欠,如果服務(wù)器已經(jīng)為此客戶端創(chuàng)建過session,服務(wù)器就按照sessionid把這個(gè)session檢索出來使用;如果客戶端請(qǐng)求不包含sessionid轰绵,則為此客戶端創(chuàng)建一個(gè)session并且生成一個(gè)與此session相關(guān)聯(lián)的sessionid粉寞,并將這個(gè)sessionid在本次響應(yīng)中返回給客戶端保存。保存這個(gè)sessionid的方式可以采用 cookie機(jī)制 左腔,這樣在交互過程中瀏覽器可以自動(dòng)的按照規(guī)則把這個(gè)標(biāo)識(shí)發(fā)揮給服務(wù)器唧垦;若瀏覽器禁用Cookie的話,可以通過 URL重寫機(jī)制 將sessionid傳回服務(wù)器液样。

    • Session 與 Cookie 的對(duì)比:

      實(shí)現(xiàn)機(jī)制:Session的實(shí)現(xiàn)常常依賴于Cookie機(jī)制振亮,通過Cookie機(jī)制回傳SessionID;

      大小限制:Cookie有大小限制并且瀏覽器對(duì)每個(gè)站點(diǎn)也有cookie的個(gè)數(shù)限制鞭莽,Session沒有大小限制坊秸,理論上只與服務(wù)器的內(nèi)存大小有關(guān);

      安全性:Cookie存在安全隱患澎怒,通過攔截或本地文件找得到cookie后可以進(jìn)行攻擊褒搔,而Session由于保存在服務(wù)器端,相對(duì)更加安全喷面;

      服務(wù)器資源消耗:Session是保存在服務(wù)器端上會(huì)存在一段時(shí)間才會(huì)消失星瘾,如果session過多會(huì)增加服務(wù)器的壓力。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末惧辈,一起剝皮案震驚了整個(gè)濱河市琳状,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌盒齿,老刑警劉巖念逞,帶你破解...
    沈念sama閱讀 212,816評(píng)論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異边翁,居然都是意外死亡翎承,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,729評(píng)論 3 385
  • 文/潘曉璐 我一進(jìn)店門倒彰,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人莱睁,你說我怎么就攤上這事待讳。” “怎么了仰剿?”我有些...
    開封第一講書人閱讀 158,300評(píng)論 0 348
  • 文/不壞的土叔 我叫張陵创淡,是天一觀的道長(zhǎng)。 經(jīng)常有香客問我南吮,道長(zhǎng)琳彩,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 56,780評(píng)論 1 285
  • 正文 為了忘掉前任,我火速辦了婚禮露乏,結(jié)果婚禮上碧浊,老公的妹妹穿的比我還像新娘。我一直安慰自己瘟仿,他們只是感情好箱锐,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,890評(píng)論 6 385
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著劳较,像睡著了一般驹止。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上观蜗,一...
    開封第一講書人閱讀 50,084評(píng)論 1 291
  • 那天臊恋,我揣著相機(jī)與錄音,去河邊找鬼墓捻。 笑死抖仅,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的毙替。 我是一名探鬼主播岸售,決...
    沈念sama閱讀 39,151評(píng)論 3 410
  • 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼厂画!你這毒婦竟也來了凸丸?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,912評(píng)論 0 268
  • 序言:老撾萬榮一對(duì)情侶失蹤袱院,失蹤者是張志新(化名)和其女友劉穎屎慢,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體忽洛,經(jīng)...
    沈念sama閱讀 44,355評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡腻惠,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,666評(píng)論 2 327
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了欲虚。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片集灌。...
    茶點(diǎn)故事閱讀 38,809評(píng)論 1 341
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖复哆,靈堂內(nèi)的尸體忽然破棺而出欣喧,到底是詐尸還是另有隱情,我是刑警寧澤梯找,帶...
    沈念sama閱讀 34,504評(píng)論 4 334
  • 正文 年R本政府宣布唆阿,位于F島的核電站,受9級(jí)特大地震影響锈锤,放射性物質(zhì)發(fā)生泄漏驯鳖。R本人自食惡果不足惜闲询,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 40,150評(píng)論 3 317
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望浅辙。 院中可真熱鬧扭弧,春花似錦、人聲如沸摔握。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,882評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽氨淌。三九已至泊愧,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間盛正,已是汗流浹背删咱。 一陣腳步聲響...
    開封第一講書人閱讀 32,121評(píng)論 1 267
  • 我被黑心中介騙來泰國(guó)打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留豪筝,地道東北人痰滋。 一個(gè)月前我還...
    沈念sama閱讀 46,628評(píng)論 2 362
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像续崖,于是被迫代替她去往敵國(guó)和親敲街。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,724評(píng)論 2 351

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