網(wǎng)絡(luò)

1 HTTP協(xié)議
1.1請(qǐng)求報(bào)文
1.2 響應(yīng)報(bào)文
1.3 http的請(qǐng)求方式有哪些
1.4 HTTP擴(kuò)展方法
1.5 GET和POST的區(qū)別(從語(yǔ)義的角度)
1.6 狀態(tài)碼
1.7 首部
1.8 連接建立過(guò)程
1.9 HTTP的特點(diǎn)
2 HTTP與網(wǎng)絡(luò)安全
2.1 HTTPS連接建立流程是怎樣的
2.2 HTTPS都使用了那些加密手段美旧?為什么
3 TCP/UDP傳輸層協(xié)議
3.1 DNS解析
3.1.1 了解DNS解析
3.1.2 DNS解析查詢方式
3.1.3 DNS解析存在哪些常見(jiàn)問(wèn)題
3.1.3.1 DNS劫持問(wèn)題
3.1.3.2 DNS解析轉(zhuǎn)發(fā)問(wèn)題
3.1.3.3 怎么解決DNS劫持
4 Session/Cookie


1 HTTP協(xié)議

HTTP是超文本傳輸協(xié)議

了解報(bào)文流的概念:
HTTP報(bào)文在客戶端、服務(wù)器陶舞、和代理之間的傳遞可以形象的稱為流動(dòng)绪励。術(shù)語(yǔ)“流入”优炬、“流出”、“上游”雅宾、“下游”是在流的基礎(chǔ)上定義的眉抬,用來(lái)描述報(bào)文方向懈凹。
“流入”意為報(bào)文從客戶端到達(dá)服務(wù)器介评;“流出”,則和流入相反寒瓦∑撼穑可以看出椅文,這兩個(gè)術(shù)語(yǔ)是針對(duì)服務(wù)器而言。
“上游”和“下游”少辣,不管是請(qǐng)求報(bào)文還是響應(yīng)報(bào)文毒坛,所有報(bào)文都會(huì)向“下游”流動(dòng)。所有報(bào)文的發(fā)送者都在接收者的“上游”屯伞。

1.1請(qǐng)求報(bào)文

請(qǐng)求報(bào)文.png

1.2 響應(yīng)報(bào)文

響應(yīng)報(bào)文.png

? HTTP報(bào)文結(jié)構(gòu):


? HTTP報(bào)文結(jié)構(gòu).png

實(shí)例 :請(qǐng)求和響應(yīng)報(bào)文


實(shí)例 :請(qǐng)求和響應(yīng)報(bào)文.png

各部分的作用如下:

  • 起始行和首部是由行分割的ASCII文本,每行由一個(gè)回車符(\n)和一個(gè)換行符(\r)組成的序列結(jié)束末融。這個(gè)序列可以寫(xiě)作CRLF勾习。
  • method懈玻,客戶端希望服務(wù)器執(zhí)行的動(dòng)作。
  • request-url艺栈,請(qǐng)求的資源路徑湿右。
  • version罚勾,HTTP的版本尖殃,如HTTP/1.0。不同版本有不同的特性。
  • status蚪战,3位數(shù)铐懊,描述了請(qǐng)求過(guò)程中的情況科乎。具體介紹在后面。
  • reason-phrase捏萍,和status對(duì)應(yīng)令杈,是其描述。
  • headers掉丽,可以沒(méi)有或多個(gè)异雁。具體介紹在后面纲刀。
  • entity-body,數(shù)據(jù)塊芥挣,主體是可選的空免,可以為二進(jìn)制或文本盆耽。

1.3 HTTP的請(qǐng)求方式有哪些

HTTP規(guī)定了這些方法摄杂,具體服務(wù)器是否支持,由服務(wù)器確定墨坚。

HTTP的請(qǐng)求方式 描述 詳細(xì)描述
GET 告知服務(wù)器泽篮,需要從服務(wù)器向客戶端發(fā)送命名資源 從服務(wù)器獲取資源柑船,HTTP/1.1要求實(shí)現(xiàn)的方法鞍时。
HEAD 僅發(fā)送命名資源響應(yīng)中的HTTP首部 GET方法類似扣蜻,但是響應(yīng)報(bào)文中不會(huì)包含主體部分莽使。使用該特性吮旅,可以在不真正獲取資源的情況下完成:
判斷資源類型
查看對(duì)應(yīng)資源是否存在
查看資源是否被修改 HTTP/1.1規(guī)范中要求實(shí)現(xiàn)該方法味咳,并且對(duì)于同一資源槽驶,該方法響應(yīng)首部應(yīng)該和GET方法返回的相同。
PUT 將客戶端的數(shù)據(jù)存儲(chǔ)的命名的服務(wù)器資源中 GET相反罕拂,請(qǐng)求服務(wù)器在指定位置創(chuàng)建文件爆班,內(nèi)容為請(qǐng)求主體的內(nèi)容辱姨。若對(duì)應(yīng)資源存在雨涛,則替換。
POST 將客戶端數(shù)據(jù)發(fā)送到一個(gè)服務(wù)器應(yīng)用程序 客戶端向服務(wù)器發(fā)送數(shù)據(jù)凉泄。常用來(lái)提交表單后众。
TRACE 追溯一個(gè)請(qǐng)求 客戶端發(fā)出請(qǐng)求后吼具,可能經(jīng)過(guò)中間的網(wǎng)關(guān)矩距、代理等锥债,原始請(qǐng)求可能被修改,使用TRACE可以查看最終到達(dá)服務(wù)器的請(qǐng)求具體是什么樣子(服務(wù)器在響應(yīng)報(bào)文的主體中包含其收到的請(qǐng)求報(bào)文)登夫。
TRACE通常用于診斷一個(gè)請(qǐng)求是否能到達(dá)服務(wù)器恼策,不能帶有主體部分涣楷。
OPTIONS 查看服務(wù)器對(duì)資源支持的操作 用于查看服務(wù)器對(duì)特定資源所支持的方法抗碰。在請(qǐng)求報(bào)文中若使用*代替URL弧蝇,則意為查看服務(wù)器對(duì)所有資源的通用方法。
DELETE 從服務(wù)器刪除資源 請(qǐng)求服務(wù)器刪除指定資源沙峻。當(dāng)然摔寨,具體是否刪除祷肯,由服務(wù)器決定

1.4 HTTP擴(kuò)展方法

HTTP擴(kuò)展方法指的是沒(méi)有在HTTP規(guī)范中定義的方法疗隶。例如斑鼻,下面是在WebDAV HTTP擴(kuò)展中的方法:

擴(kuò)展方法名 描述
LOCK 告知服務(wù)器,對(duì)指定資源鎖定蜀备,防止其他人對(duì)其更改
MKCOL 允許用戶創(chuàng)建資源
COPY 允許用戶 復(fù)制資源
MOVE 移動(dòng)服務(wù)器資源

1.5 GET和POST的區(qū)別

1.6 狀態(tài)碼

1.7 首部

1.8 連接建立過(guò)程

三次握手 四次揮手.png

三次揮手(建立連接)
第一次:建立連接時(shí),客戶端發(fā)送SYN包(syn=j)到服務(wù)器脂凶,并進(jìn)入SYN_SEND狀態(tài),等待服務(wù)器確認(rèn)亭病;
第二次:服務(wù)器收到SYN包罪帖,向客戶端返回ACK(ack=j+1)邮屁,同時(shí)自己也發(fā)送一個(gè)SYN包(syn=k)樱报,即SYN+ACK包,此時(shí)服務(wù)器進(jìn)入SYN_RCVD狀態(tài)迹蛤;
第三次:客戶端收到服務(wù)器的SYN+ACK包民珍,向服務(wù)器發(fā)送確認(rèn)包ACK(ack=k+1),此包發(fā)送完畢盗飒,客戶端和服務(wù)器進(jìn)入ESTABLISHED狀態(tài)嚷量,完成三次握手。
完成三次握手逆趣,客戶端與服務(wù)器開(kāi)始傳送數(shù)據(jù)蝶溶,也就是ESTABLISHED狀態(tài)。
三次握手保證了不會(huì)建立無(wú)效的連接宣渗,從而浪費(fèi)資源。

四次揮手(斷開(kāi)連接)
第一次: TCP客戶端發(fā)送一個(gè)FIN痕囱,用來(lái)關(guān)閉客戶到服務(wù)器的數(shù)據(jù)傳送田轧。
第二次:服務(wù)器收到這個(gè)FIN,它發(fā)回一個(gè)ACK鞍恢,確認(rèn)序號(hào)為收到的序號(hào)加1傻粘。和SYN一樣,一個(gè)FIN將占用一個(gè)序號(hào)帮掉。
第三次:服務(wù)器關(guān)閉客戶端的連接弦悉,發(fā)送一個(gè)FIN給客戶端。
第四次:客戶端發(fā)回ACK報(bào)文確認(rèn)蟆炊,并將確認(rèn)序號(hào)設(shè)置為收到序號(hào)加1稽莉。

1.9 HTTP的特點(diǎn)

  • 支持客戶/服務(wù)器模式
  • 簡(jiǎn)單快速:客戶向服務(wù)器請(qǐng)求服務(wù)時(shí),只需傳送請(qǐng)求方法和路徑涩搓。請(qǐng)求方法常用的有GET污秆、HEAD后室、POST。每種方法規(guī)定了客戶與服務(wù)器聯(lián)系的類型不同混狠。由于HTTP協(xié)議簡(jiǎn)單,使得HTTP服務(wù)器的程序規(guī)模小疾层,因而通信速度很快将饺。
  • 靈活:HTTP允許傳輸任意類型的數(shù)據(jù)對(duì)象。正在傳輸?shù)念愋陀蒀ontent-Type(Content-Type是HTTP包中用來(lái)表示內(nèi)容類型的標(biāo)識(shí))加以標(biāo)記痛黎。
  • 無(wú)連接:無(wú)連接的含義是限制每次連接只處理一個(gè)請(qǐng)求予弧。服務(wù)器處理完客戶的請(qǐng)求,并收到客戶的應(yīng)答后湖饱,即斷開(kāi)連接掖蛤。采用這種方式可以節(jié)省傳輸時(shí)間。
  • 無(wú)狀態(tài):HTTP協(xié)議是無(wú)狀態(tài)協(xié)議井厌。無(wú)狀態(tài)是指協(xié)議對(duì)于事務(wù)處理沒(méi)有記憶能力蚓庭。缺少狀態(tài)意味著如果后續(xù)處理需要前面的信息,則它必須重傳仅仆,這樣可能導(dǎo)致每次連接傳送的數(shù)據(jù)量增大器赞。另一方面,在服務(wù)器不需要先前信息時(shí)它的應(yīng)答就較快墓拜。
持久連接:
持久連接.png

頭部字段.png

怎么判斷一個(gè)請(qǐng)求是否結(jié)束.png

2 HTTP與網(wǎng)絡(luò)安全

2.1 HTTPS連接建立流程是怎樣的

2.2 HTTPS都使用了那些加密手段港柜?為什么

3 TCP/UDP傳輸層協(xié)議

3.1 DNS解析

4 Session/Cookie

參考文章:
《圖解HTTP》— HTTP報(bào)文信息
【讀】這一次,讓我們?cè)偕钊胍稽c(diǎn) - HTTP報(bào)文
iOS http & https & 網(wǎng)絡(luò)請(qǐng)求過(guò)程
詳細(xì)解析 HTTP 與 HTTPS 的區(qū)別
IOS 網(wǎng)絡(luò)請(qǐng)求之 NSURLSession 使用
iOS網(wǎng)絡(luò)層詳解和優(yōu)化
HTTP協(xié)議詳解(一)
HTTP協(xié)議詳解(二)

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市咳榜,隨后出現(xiàn)的幾起案子夏醉,更是在濱河造成了極大的恐慌,老刑警劉巖涌韩,帶你破解...
    沈念sama閱讀 206,013評(píng)論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件畔柔,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡贸辈,警方通過(guò)查閱死者的電腦和手機(jī)释树,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,205評(píng)論 2 382
  • 文/潘曉璐 我一進(jìn)店門(mén),熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)擎淤,“玉大人奢啥,你說(shuō)我怎么就攤上這事∽炻#” “怎么了桩盲?”我有些...
    開(kāi)封第一講書(shū)人閱讀 152,370評(píng)論 0 342
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)席吴。 經(jīng)常有香客問(wèn)我赌结,道長(zhǎng)捞蛋,這世上最難降的妖魔是什么? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 55,168評(píng)論 1 278
  • 正文 為了忘掉前任柬姚,我火速辦了婚禮拟杉,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘量承。我一直安慰自己搬设,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,153評(píng)論 5 371
  • 文/花漫 我一把揭開(kāi)白布撕捍。 她就那樣靜靜地躺著拿穴,像睡著了一般。 火紅的嫁衣襯著肌膚如雪忧风。 梳的紋絲不亂的頭發(fā)上默色,一...
    開(kāi)封第一講書(shū)人閱讀 48,954評(píng)論 1 283
  • 那天,我揣著相機(jī)與錄音狮腿,去河邊找鬼腿宰。 笑死,一個(gè)胖子當(dāng)著我的面吹牛蚤霞,可吹牛的內(nèi)容都是我干的酗失。 我是一名探鬼主播,決...
    沈念sama閱讀 38,271評(píng)論 3 399
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼昧绣,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了拖刃?” 一聲冷哼從身側(cè)響起兑牡,我...
    開(kāi)封第一講書(shū)人閱讀 36,916評(píng)論 0 259
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤菱涤,失蹤者是張志新(化名)和其女友劉穎粘秆,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 43,382評(píng)論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡输拇,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 35,877評(píng)論 2 323
  • 正文 我和宋清朗相戀三年蠢古,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了草讶。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 37,989評(píng)論 1 333
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖越驻,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情并巍,我是刑警寧澤,帶...
    沈念sama閱讀 33,624評(píng)論 4 322
  • 正文 年R本政府宣布剃执,位于F島的核電站忠蝗,受9級(jí)特大地震影響阁最,放射性物質(zhì)發(fā)生泄漏速种。R本人自食惡果不足惜配阵,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,209評(píng)論 3 307
  • 文/蒙蒙 一救拉、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧派昧,春花似錦、人聲如沸五慈。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 30,199評(píng)論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至音瓷,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間靡砌,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 31,418評(píng)論 1 260
  • 我被黑心中介騙來(lái)泰國(guó)打工已慢, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留曲聂,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 45,401評(píng)論 2 352
  • 正文 我出身青樓佑惠,卻偏偏與公主長(zhǎng)得像句葵,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子兢仰,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,700評(píng)論 2 345

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

  • 1. 基礎(chǔ)知識(shí) 1.1 3種常見(jiàn)的計(jì)算機(jī)體系結(jié)構(gòu)劃分 OSI分層(7層):物理層、數(shù)據(jù)鏈路層剂碴、網(wǎng)絡(luò)層把将、傳輸層、會(huì)話...
    Mr希靈閱讀 19,840評(píng)論 6 120
  • HTTP協(xié)議 在 OSI 七層模型中忆矛,HTTP 協(xié)議位于最頂層的應(yīng)用層中察蹲。通過(guò)瀏覽器訪問(wèn)網(wǎng)頁(yè)就直接使用了 HTTP...
    WendySays閱讀 767評(píng)論 0 1
  • 博主最近在復(fù)習(xí)HTTP,之前用書(shū)主要是《計(jì)算機(jī)網(wǎng)絡(luò)》謝希仁版本催训,最近結(jié)合網(wǎng)上博客洽议,進(jìn)行復(fù)習(xí)和提綱式的總結(jié)。 一漫拭、概...
    stoneyang94閱讀 4,138評(píng)論 1 8
  • 一.HTTP HTTP是超文本傳輸協(xié)議 1.請(qǐng)求報(bào)文的格式 請(qǐng)求行:方法(get亚兄、post)、url(請(qǐng)求的地址)...
    蔚尼閱讀 654評(píng)論 0 2
  • 如何查找 我們先從二分查找法開(kāi)始說(shuō)起采驻,生活中审胚,如果我們擺放物品是按照一定規(guī)律的話,那么查找起來(lái)就會(huì)非忱衤茫快膳叨,如果我們...
    李威威閱讀 674評(píng)論 0 2