Http協(xié)議和Https協(xié)議

Http網(wǎng)絡(luò)協(xié)議

一代咸、簡(jiǎn)介

  1. 超文本傳輸協(xié)議,基于TCP/IP協(xié)議來傳輸數(shù)據(jù)陵吸;
  2. 原理:客戶端-服務(wù)端架構(gòu)玻墅,客戶通過URL向服務(wù)端發(fā)起請(qǐng)求,服務(wù)端接收到請(qǐng)求后壮虫,向客戶端發(fā)送響應(yīng)內(nèi)容澳厢。

二、特點(diǎn)

  1. 無連接囚似,限制每次連接只處理一個(gè)請(qǐng)求赏酥,服務(wù)器處理完客戶端請(qǐng)求,并收到客戶端的應(yīng)答后谆构,斷開連接裸扶,節(jié)省傳輸時(shí)間;
  2. 媒體獨(dú)立搬素,客戶端和服務(wù)器能處理 的數(shù)據(jù)呵晨,都可以通過Http發(fā)送;
  3. 無狀態(tài)熬尺,對(duì)于處理過的事務(wù)沒有記憶能力摸屠,無法記住用戶是否登錄,cookie就是用來解決這個(gè)問題的粱哼。
  4. 明文傳輸季二,容易被監(jiān)聽

三、消息結(jié)構(gòu)

  1. 客戶端請(qǐng)求消息:請(qǐng)求行-請(qǐng)求頭-空行-請(qǐng)求內(nèi)容


    image.png
  2. 服務(wù)器響應(yīng)消息:響應(yīng)行-消息報(bào)頭-空行-響應(yīng)正文


    image.png

四揭措、狀態(tài)碼分類

  1. 1**:消息服務(wù)器已經(jīng)收到胯舷,需要請(qǐng)求者繼續(xù)操作,eg:101:客戶端需要切換協(xié)議绊含;
  2. 2**:成功桑嘶,eg:200;
  3. 3**:重定向躬充,需要進(jìn)一步操作完成請(qǐng)求逃顶,eg:302:網(wǎng)頁(yè)被永久轉(zhuǎn)移到其他URL讨便;
  4. 4**:客戶端錯(cuò)誤,eg:404:找不到頁(yè)面以政;
  5. 5**:服務(wù)器錯(cuò)誤霸褒,eg:500:內(nèi)部服務(wù)器錯(cuò)誤。

五盈蛮、請(qǐng)求方法

HTTP1.0 定義了三種請(qǐng)求方法: GET, POST 和 HEAD 方法傲霸。
HTTP1.1 新增了五種請(qǐng)求方法:OPTIONS、PUT眉反、PATCH昙啄、DELETE、TRACE 和 CONNECT 方法

  1. GET 請(qǐng)求指定的頁(yè)面信息寸五,并返回實(shí)體主體;
  2. HEAD 類似于 GET 請(qǐng)求梳凛,只不過返回的響應(yīng)中沒有具體的內(nèi)容,用于獲取報(bào)頭;
  3. POST 向指定資源提交數(shù)據(jù)進(jìn)行處理請(qǐng)求(例如提交表單或者上傳文件)梳杏。數(shù)據(jù)被包含在請(qǐng)求體中韧拒。POST 請(qǐng)求可能會(huì)導(dǎo)致新的資源的建立和 / 或已有資源的修改;
  4. PUT 從客戶端向服務(wù)器傳送的數(shù)據(jù)取代指定的文檔的內(nèi)容;
  5. DELETE 請(qǐng)求服務(wù)器刪除指定的頁(yè)面;
  6. CONNECT HTTP/1.1 協(xié)議中預(yù)留給能夠?qū)⑦B接改為管道方式的代理服務(wù)器;
  7. OPTIONS 允許客戶端查看服務(wù)器的性能;
  8. TRACE 回顯服務(wù)器收到的請(qǐng)求,主要用于測(cè)試或診斷;
  9. PATCH 是對(duì) PUT 方法的補(bǔ)充十性,用來對(duì)已知資源進(jìn)行局部更新 .

六叛溢、GET和POST區(qū)別

  1. GET:請(qǐng)求指定頁(yè)面信息,直接寫URL訪問劲适,暴露URL楷掉,可以被緩存,不安全霞势;請(qǐng)求頭和數(shù)據(jù)打包在一起發(fā)送烹植;數(shù)據(jù)長(zhǎng)度有限制(2K);
  2. POST: 向指定資源提交數(shù)據(jù)進(jìn)行處理請(qǐng)求愕贡,數(shù)據(jù)包在請(qǐng)求體內(nèi)草雕;參數(shù)不會(huì)被保留;先發(fā)送head固以,服務(wù)器響應(yīng)100墩虹,再發(fā)送data,發(fā)包兩次憨琳。

七诫钓、三次握手

關(guān)鍵詞
  1. SYN:同步位,位碼=1栽渴,代表同步位狀態(tài)成功
  2. 序列號(hào):Sequence Number 隨機(jī)產(chǎn)生
  3. ACK:確認(rèn)位尖坤,主機(jī)產(chǎn)生的序列號(hào)+1
  4. SYN_SENT:客戶端已經(jīng)發(fā)送完SYN數(shù)據(jù)包
  5. SYN_RCVD:服務(wù)端已經(jīng)收到SYN數(shù)據(jù)包
  6. ESTABLISHED:已經(jīng)建立了連接可以發(fā)送數(shù)據(jù)
TCP三次握手

第一次:客戶端向服務(wù)端發(fā)送SYN數(shù)據(jù)包(SYN=1, 序列號(hào)=x)∠胁粒客戶端進(jìn)入SYN_SENT狀態(tài)慢味,等待服務(wù)端確認(rèn);
第二次:服務(wù)端接收到SYN數(shù)據(jù)包并進(jìn)行確認(rèn)(SYN=1,ACK number=x+1,ACK=1墅冷,序列號(hào)=y)纯路,再發(fā)送SYN+ACK數(shù)據(jù)包給客戶端,服務(wù)端進(jìn)入SYN_RCVD狀態(tài)寞忿;
第三次:客戶端收到ACK+SYN數(shù)據(jù)包驰唬,如果ACK Number=x+1,將ACK Number設(shè)置為y+1腔彰,ACK=1叫编,向服務(wù)器發(fā)送ACK數(shù)據(jù)包,此時(shí)服務(wù)端客戶端都進(jìn)入ESTABLISHED狀態(tài)霹抛。

為什么需要三次握手搓逾?

為了防止已經(jīng)失效的連接請(qǐng)求報(bào)文突然又傳到服務(wù)端 ,產(chǎn)生錯(cuò)誤杯拐。 解釋:報(bào)文已經(jīng)發(fā)送霞篡,但是在某個(gè)網(wǎng)絡(luò)節(jié)點(diǎn)發(fā)送滯留,導(dǎo)致連接釋放端逼,釋放后報(bào)文才到達(dá)另一端朗兵。

八、四次揮手

關(guān)鍵詞
  1. FIN:結(jié)束
  2. FIN_WAIT_1:客戶端主動(dòng)關(guān)閉連接時(shí)的狀態(tài)(此狀態(tài)難以看到顶滩,發(fā)起關(guān)閉連接后余掖,另一端會(huì)馬上同意)
  3. FIN_WAIT_2:服務(wù)端同意關(guān)閉后,但是還有一些數(shù)據(jù)要給客戶端礁鲁,客戶端不能馬上關(guān)閉浊吏,半連接狀態(tài);
  4. TIME_WAIT:客戶端等2MSL后救氯,就可以關(guān)閉了找田。(如果FIN_WAIT_1時(shí)就收到了FIN和ACK的數(shù)據(jù),直接進(jìn)入此狀態(tài))
  5. 2MSL:最大生存時(shí)間着憨;
  6. CLOSED:2MSL后進(jìn)入關(guān)閉狀態(tài)墩衙。
TCP四次揮手

第一次:客戶端給服務(wù)端發(fā)送FIN報(bào)文(序列號(hào)=x),A進(jìn)入FIN_WAIT_1狀態(tài)甲抖,表示客戶端沒有數(shù)據(jù)給服務(wù)端了漆改;
第二次:服務(wù)端收到FIN報(bào)文,給A發(fā)送ACK報(bào)文(ACK=x+1)准谚,A進(jìn)入FIN_WAIT_2狀態(tài)挫剑。服務(wù)端同意客戶端關(guān)閉連接;
第三次:服務(wù)端向客戶端發(fā)送FIN報(bào)文(序列號(hào)=y)柱衔,請(qǐng)求關(guān)閉連接樊破,服務(wù)端進(jìn)入LAST_ACK狀態(tài)愉棱;
第四次:客戶端收到FIN報(bào)文,向服務(wù)端發(fā)送ACK報(bào)文(ACK=y+1)哲戚,A進(jìn)入TIME_WAIT狀態(tài)奔滑,服務(wù)端收到ACK報(bào)文后關(guān)閉連接,客戶端在2MSL后依舊沒有收到回復(fù)顺少,證明服務(wù)端已經(jīng)關(guān)閉朋其,客戶端就可以關(guān)閉了。

為什么TCP需要四次揮手脆炎?

TCP是一種面向連接的梅猿、可靠地的、基于字節(jié)流的傳輸層通信協(xié)議秒裕。
TCP是全雙工模式袱蚓,主機(jī)1請(qǐng)求關(guān)閉連接,不在發(fā)送數(shù)據(jù)簇爆,但是可以接收主機(jī)2的數(shù)據(jù)癞松,主機(jī)2不再發(fā)送數(shù)據(jù)狂丝,才算關(guān)閉鸯乃,減少了數(shù)據(jù)丟失的風(fēng)險(xiǎn)钻弄。

Https網(wǎng)絡(luò)協(xié)議

一历筝、簡(jiǎn)介

  1. 安全超文本傳輸協(xié)議虱咧,基于TCP/IP協(xié)議來傳輸數(shù)據(jù)砸彬;
  2. 原理:客戶端-服務(wù)端架構(gòu)装黑,客戶通過URL向服務(wù)端發(fā)起請(qǐng)求限番,服務(wù)端接收到請(qǐng)求后扼褪,向客戶端發(fā)送響應(yīng)內(nèi)容想幻。
  3. 通過SSL(安全套接層)或者TLS(運(yùn)輸層安全)加密

二、原理

  1. 當(dāng)計(jì)算機(jī)連接到使用SSL的網(wǎng)站服務(wù)器時(shí)话浇,計(jì)算機(jī)的網(wǎng)頁(yè)瀏覽器會(huì)要求網(wǎng)站確認(rèn)自己的身份脏毯,網(wǎng)頁(yè)服務(wù)器會(huì)向計(jì)算機(jī)發(fā)送其SSL證書的副本。
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末幔崖,一起剝皮案震驚了整個(gè)濱河市食店,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌赏寇,老刑警劉巖吉嫩,帶你破解...
    沈念sama閱讀 212,542評(píng)論 6 493
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異嗅定,居然都是意外死亡自娩,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,596評(píng)論 3 385
  • 文/潘曉璐 我一進(jìn)店門渠退,熙熙樓的掌柜王于貴愁眉苦臉地迎上來忙迁,“玉大人脐彩,你說我怎么就攤上這事《” “怎么了丁屎?”我有些...
    開封第一講書人閱讀 158,021評(píng)論 0 348
  • 文/不壞的土叔 我叫張陵荠锭,是天一觀的道長(zhǎng)旱眯。 經(jīng)常有香客問我,道長(zhǎng)证九,這世上最難降的妖魔是什么删豺? 我笑而不...
    開封第一講書人閱讀 56,682評(píng)論 1 284
  • 正文 為了忘掉前任,我火速辦了婚禮愧怜,結(jié)果婚禮上呀页,老公的妹妹穿的比我還像新娘。我一直安慰自己拥坛,他們只是感情好蓬蝶,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,792評(píng)論 6 386
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著猜惋,像睡著了一般丸氛。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上著摔,一...
    開封第一講書人閱讀 49,985評(píng)論 1 291
  • 那天缓窜,我揣著相機(jī)與錄音,去河邊找鬼谍咆。 笑死禾锤,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的摹察。 我是一名探鬼主播恩掷,決...
    沈念sama閱讀 39,107評(píng)論 3 410
  • 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼供嚎!你這毒婦竟也來了黄娘?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,845評(píng)論 0 268
  • 序言:老撾萬榮一對(duì)情侶失蹤查坪,失蹤者是張志新(化名)和其女友劉穎寸宏,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體偿曙,經(jīng)...
    沈念sama閱讀 44,299評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡氮凝,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,612評(píng)論 2 327
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了望忆。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片罩阵。...
    茶點(diǎn)故事閱讀 38,747評(píng)論 1 341
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡竿秆,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出稿壁,到底是詐尸還是另有隱情幽钢,我是刑警寧澤,帶...
    沈念sama閱讀 34,441評(píng)論 4 333
  • 正文 年R本政府宣布傅是,位于F島的核電站匪燕,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏喧笔。R本人自食惡果不足惜帽驯,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 40,072評(píng)論 3 317
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望书闸。 院中可真熱鬧尼变,春花似錦、人聲如沸浆劲。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,828評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)牌借。三九已至度气,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間走哺,已是汗流浹背蚯嫌。 一陣腳步聲響...
    開封第一講書人閱讀 32,069評(píng)論 1 267
  • 我被黑心中介騙來泰國(guó)打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留丙躏,地道東北人择示。 一個(gè)月前我還...
    沈念sama閱讀 46,545評(píng)論 2 362
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像晒旅,于是被迫代替她去往敵國(guó)和親栅盲。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,658評(píng)論 2 350

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